;(function($, window, undefined){ 'use strict'; var $body=$('body'); $.DLMenu=function(options, element){ this.$el=$(element); this._init(options); }; $.DLMenu.defaults={ animationClasses:{ classin:'dl-animate-in-1', classout:'dl-animate-out-1' }, onLevelClick:function(el, name){ return false; }, onLinkClick:function(el, ev){ return false; }, backLabel: 'Back', showCurrentLabel: 'Show this page', useActiveItemAsBackLabel: false, useActiveItemAsLink: true }; $.DLMenu.prototype={ _init:function(options){ this.options=$.extend(true, {}, $.DLMenu.defaults, options); this._config(); var animEndEventNames={ 'WebkitAnimation':'webkitAnimationEnd', 'OAnimation':'oAnimationEnd', 'msAnimation':'MSAnimationEnd', 'animation':'animationend', "MozAnimation":"animationend" }, transEndEventNames={ 'WebkitTransition':'webkitTransitionEnd', 'MozTransition':'transitionend', 'OTransition':'oTransitionEnd', 'msTransition':'MSTransitionEnd', 'transition':'transitionend' }; if(animEndEventNames[ window.supportedAnimation ]!=undefined){ this.animEndEventName=animEndEventNames[ window.supportedAnimation ] + '.dlmenu'; }else{ this.animEndEventName=animEndEventNames[ 'animation' ] + '.dlmenu'; } if(transEndEventNames[ window.supportedTransition ]!=undefined){ this.transEndEventName=transEndEventNames[ window.supportedTransition ] + '.dlmenu'; }else{ this.transEndEventName=transEndEventNames[ 'transition' ] + '.dlmenu'; } this.supportAnimations=window.supportsAnimations; this.supportTransitions=window.supportsTransitions; this._initEvents(); }, _config:function(){ var self=this; this.open=false; this.$trigger=this.$el.hasClass('primary-navigation')&&$('#perspective-menu-buttons').length > 0 ? $('#perspective-menu-buttons .dl-trigger'):this.$el.find('.dl-trigger:first'); this.$menu=this.$el.find('ul.dl-menu:first'); this.$menuitems=this.$menu.find('li:not(.dl-back):not(.not-dlmenu)'); this.$el.find('ul.dl-submenu').prepend('
  • ' + this.options.backLabel + '
  • '); this.$back=this.$menu.find('li.dl-back'); if(this.options.useActiveItemAsBackLabel){ this.$back.each(function(){ var $this=$(this), parentLabel=$this.parents('li:first').find('a:first').text(); $this.find('a').html(parentLabel); }); } if(this.options.useActiveItemAsLink){ this.$el.find('ul.dl-submenu').prepend(function(){ var activeLi=$(this).parents('li:not(.dl-back):first'); var parentli=activeLi.find('a:first'); if(activeLi.hasClass('mobile-clickable')) return '
  • ' + self.options.showCurrentLabel + '
  • '; else return ''; }); }}, _initEvents:function(){ var self=this; this.$trigger.on('click.dlmenu', function(){ if(self.open){ self._closeMenu(); }else{ self._openMenu(); $body.off('click').children().on('click.dlmenu', function(){ self._closeMenu() ; }); } return false; }); this.$menuitems.on('click.dlmenu', function(event){ event.stopPropagation(); var $item=$(this), $submenu=$item.children('ul.dl-submenu'), level=1; if(!self.$menu.hasClass('dl-menuopen')){ self.options.onLinkClick($item, event); return; } var $itemList=$item.parent(); while ($itemList.attr('id')!='primary-menu'){ if($itemList[0].nodeName.toUpperCase()=='UL'){ level++; } $itemList=$itemList.parent(); if(!$itemList.length){ break; }} if(level > 3){ level=3; } if(($submenu.length > 0)&&!($(event.currentTarget).hasClass('dl-subviewopen'))){ var $flyin=$submenu.clone().addClass('level' + (level+1)).css('opacity', 0).insertAfter(self.$menu), onAnimationEndFn=function(){ self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classout).addClass('dl-subview'); $item.addClass('dl-subviewopen').parents('.dl-subviewopen:first').removeClass('dl-subviewopen').addClass('dl-subview'); $flyin.remove(); }; setTimeout(function(){ $flyin.addClass(self.options.animationClasses.classin); self.$menu.addClass(self.options.animationClasses.classout); if(self.supportAnimations){ self.$menu.on(self.animEndEventName, onAnimationEndFn); }else{ onAnimationEndFn.call(); } self.options.onLevelClick($item, $item.children('a:first').text()); }); return false; }else{ self.options.onLinkClick($item, event); }}); this.$back.on('click.dlmenu', function(event){ var $this=$(this), $submenu=$this.parents('ul.dl-submenu:first'), $item=$submenu.parent(), level=1; var $itemList=$this.parent(); while ($itemList.attr('id')!='primary-menu'){ if($itemList[0].nodeName.toUpperCase()=='UL'){ level++; } $itemList=$itemList.parent(); if(!$itemList.length){ break; }} if(level > 3){ level=3; } var $flyin=$submenu.clone().addClass('level' + level).insertAfter(self.$menu); var onAnimationEndFn=function(){ self.$menu.off(self.animEndEventName).removeClass(self.options.animationClasses.classin); $flyin.remove(); }; setTimeout(function(){ $flyin.addClass(self.options.animationClasses.classout); self.$menu.addClass(self.options.animationClasses.classin); if(self.supportAnimations){ self.$menu.on(self.animEndEventName, onAnimationEndFn); }else{ onAnimationEndFn.call(); } $item.removeClass('dl-subviewopen'); var $subview=$this.parents('.dl-subview:first'); if($subview.is('li')){ $subview.addClass('dl-subviewopen'); } $subview.removeClass('dl-subview'); }); return false; }); }, closeMenu:function(){ if(this.open){ this._closeMenu(); }}, _closeMenu:function(){ var self=this, onTransitionEndFn=function(){ self.$menu.off(self.transEndEventName); self._resetMenu(); }; this.$menu.removeClass('dl-menuopen'); this.$menu.addClass('dl-menu-toggle'); this.$trigger.removeClass('dl-active'); if(this.supportTransitions){ this.$menu.on(this.transEndEventName, onTransitionEndFn); }else{ onTransitionEndFn.call(); } this.open=false; }, openMenu:function(){ if(!this.open){ this._openMenu(); }}, _openMenu:function(){ var self=this; $body.off('click').on('click.dlmenu', function(){ self._closeMenu() ; }); this.$menu.addClass('dl-menuopen dl-menu-toggle').on(this.transEndEventName, function(){ $(this).removeClass('dl-menu-toggle'); }); this.$trigger.addClass('dl-active'); this.open=true; }, _resetMenu:function(){ this.$menu.removeClass('dl-subview'); this.$menuitems.removeClass('dl-subview dl-subviewopen'); }}; var logError=function(message){ if(window.console){ window.console.error(message); }}; $.fn.dlmenu=function(options){ if(typeof options==='string'){ var args=Array.prototype.slice.call(arguments, 1); this.each(function(){ var instance=$.data(this, 'dlmenu'); if(!instance){ logError("cannot call methods on dlmenu prior to initialization; " + "attempted to call method '" + options + "'"); return; } if(!$.isFunction(instance[options])||options.charAt(0)==="_"){ logError("no such method '" + options + "' for dlmenu instance"); return; } instance[ options ].apply(instance, args); }); }else{ this.each(function(){ var instance=$.data(this, 'dlmenu'); if(instance){ instance._init(); }else{ instance=$.data(this, 'dlmenu', new $.DLMenu(options, this)); }}); } return this; };})(jQuery, window); function supportsTransitions(){ return getSupportedTransition()!=''; } function getSupportedTransition(){ var b=document.body||document.documentElement, s=b.style, p='transition'; if(typeof s[p]=='string'){ return p; } var v=['Moz', 'webkit', 'Webkit', 'Khtml', 'O', 'ms']; p=p.charAt(0).toUpperCase() + p.substr(1); for (var i=0; i li'), lastItem=null; for (var i=items.length - 1; i >=0; i--){ if(items[i].className.indexOf('mobile-only')==-1){ lastItem=items[i]; break; }} primaryMenu.style.display=''; logoItem.style.marginLeft=''; logoItem.style.marginRight=''; if(windowWidth < 1212||lastItem===null){ return; } primaryMenu.style.display='block'; var pageCenter=windowWidth / 2 + pageMargin, logoOffset=getElementPosition(logoItem), offset=pageCenter - logoOffset.left - logoItem.offsetWidth / 2; logoItem.style.marginLeft=offset + 'px'; var primaryMenuOffsetWidth=primaryMenu.offsetWidth, primaryMenuOffsetLeft=getElementPosition(primaryMenu).left, lastItemOffsetWidth=lastItem.offsetWidth, lastItemOffsetLeft=getElementPosition(lastItem).left, rightItemsOffset=primaryMenuOffsetWidth - lastItemOffsetLeft - lastItemOffsetWidth + primaryMenuOffsetLeft; logoItem.style.marginRight=rightItemsOffset + 'px'; }else{ if(windowWidth < 1212){ primaryNavigation.style.textAlign=''; primaryMenu.style.position=''; primaryMenu.style.left=''; return; } primaryNavigation.style.textAlign='left'; primaryMenu.style.left=0 + 'px'; var pageCenter=windowWidth / 2, primaryMenuOffsetLeft=getElementPosition(primaryMenu).left, logoOffset=getElementPosition(document.querySelector('#site-header .header-main #primary-navigation .menu-item-logo')), pageOffset=getElementPosition(page), offset=pageCenter - (logoOffset.left - pageOffset.left) - document.querySelector('#site-header .header-main #primary-navigation .menu-item-logo').offsetWidth / 2; if(primaryMenuOffsetLeft + offset >=0){ primaryMenu.style.position='relative'; primaryMenu.style.left=offset + 'px'; }else{ primaryMenu.style.position=''; primaryMenu.style.left=''; }} }, 50); } window.fixMenuLogoPosition=fixMenuLogoPosition; window.addEventListener('load', function(event){ window.fixMenuLogoPosition(); }, false); })(); (function($){ var isVerticalMenu=$('.header-main').hasClass('header-layout-vertical'), isHamburgerMenu=$('.header-main').hasClass('header-layout-fullwidth_hamburger'), isPerspectiveMenu=$('#thegem-perspective').length > 0; $(window).resize(function(){ window.updateGemClientSize(false); window.updateGemInnerSize(); }); window.menuResizeTimeoutHandler=false; var megaMenuSettings={}; function getOffset(elem){ if(elem.getBoundingClientRect&&window.gemBrowser.platform.name!='ios'){ var bound=elem.getBoundingClientRect(), html=elem.ownerDocument.documentElement, htmlScroll=getScroll(html), elemScrolls=getScrolls(elem), isFixed=(styleString(elem, 'position')=='fixed'); return { x: parseInt(bound.left) + elemScrolls.x + ((isFixed) ? 0:htmlScroll.x) - html.clientLeft, y: parseInt(bound.top) + elemScrolls.y + ((isFixed) ? 0:htmlScroll.y) - html.clientTop };} var element=elem, position={x: 0, y: 0}; if(isBody(elem)) return position; while (element&&!isBody(element)){ position.x +=element.offsetLeft; position.y +=element.offsetTop; if(window.gemBrowser.name=='firefox'){ if(!borderBox(element)){ position.x +=leftBorder(element); position.y +=topBorder(element); } var parent=element.parentNode; if(parent&&styleString(parent, 'overflow')!='visible'){ position.x +=leftBorder(parent); position.y +=topBorder(parent); }}else if(element!=elem&&window.gemBrowser.name=='safari'){ position.x +=leftBorder(element); position.y +=topBorder(element); } element=element.offsetParent; } if(window.gemBrowser.name=='firefox'&&!borderBox(elem)){ position.x -=leftBorder(elem); position.y -=topBorder(elem); } return position; }; function getScroll(elem){ return {x: window.pageXOffset||document.documentElement.scrollLeft, y: window.pageYOffset||document.documentElement.scrollTop};}; function getScrolls(elem){ var element=elem.parentNode, position={x: 0, y: 0}; while (element&&!isBody(element)){ position.x +=element.scrollLeft; position.y +=element.scrollTop; element=element.parentNode; } return position; }; function styleString(element, style){ return $(element).css(style); }; function styleNumber(element, style){ return parseInt(styleString(element, style))||0; }; function borderBox(element){ return styleString(element, '-moz-box-sizing')=='border-box'; }; function topBorder(element){ return styleNumber(element, 'border-top-width'); }; function leftBorder(element){ return styleNumber(element, 'border-left-width'); }; function isBody(element){ return (/^(?:body|html)$/i).test(element.tagName); }; function checkMegaMenuSettings(){ if(window.customMegaMenuSettings==undefined||window.customMegaMenuSettings==null){ return false; } var uri=window.location.pathname; window.customMegaMenuSettings.forEach(function(item){ for (var i=0; i < item.urls.length; i++){ if(uri.match(item.urls[i])){ megaMenuSettings[item.menuItem]=item.data; }} }); } function fixMegaMenuWithSettings(){ checkMegaMenuSettings(); $('#primary-menu > li.megamenu-enable').each(function(){ var m=this.className.match(/(menu-item-(\d+))/); if(!m){ return; } var itemId=parseInt(m[2]); if(megaMenuSettings[itemId]==undefined||megaMenuSettings[itemId]==null){ return; } var $item=$('> ul', this); if(megaMenuSettings[itemId].masonry!=undefined){ if(megaMenuSettings[itemId].masonry){ $item.addClass('megamenu-masonry'); }else{ $item.removeClass('megamenu-masonry'); }} if(megaMenuSettings[itemId].style!=undefined){ $(this).removeClass('megamenu-style-default megamenu-style-grid').addClass('megamenu-style-' + megaMenuSettings[itemId].style); } var css={}; if(megaMenuSettings[itemId].backgroundImage!=undefined){ css.backgroundImage=megaMenuSettings[itemId].backgroundImage; } if(megaMenuSettings[itemId].backgroundPosition!=undefined){ css.backgroundPosition=megaMenuSettings[itemId].backgroundPosition; } if(megaMenuSettings[itemId].padding!=undefined){ css.padding=megaMenuSettings[itemId].padding; } if(megaMenuSettings[itemId].borderRight!=undefined){ css.borderRight=megaMenuSettings[itemId].borderRight; } $item.css(css); }); } function isResponsiveMenuVisible(){ return $('.primary-navigation .menu-toggle').is(':visible'); } window.isResponsiveMenuVisible=isResponsiveMenuVisible; function isTopAreaVisible(){ return window.gemSettings.topAreaMobileDisable ? window.gemOptions.clientWidth >=768:true; } window.isTopAreaVisible=isTopAreaVisible; function isVerticalToggleVisible(){ return window.gemOptions.clientWidth > 1600; } $('#primary-menu > li.megamenu-enable').hover(function(){ fix_megamenu_position(this); }, function(){} ); $('#primary-menu > li.megamenu-enable:hover').each(function(){ fix_megamenu_position(this); }); $('#primary-menu > li.megamenu-enable').each(function(){ var $item=$('> ul', this); if($item.length==0) return; $item.addClass('megamenu-item-inited'); }); function fix_megamenu_position(elem){ if(!$('.megamenu-inited', elem).length&&isResponsiveMenuVisible()){ return false; } var $item=$('> ul', elem); if($item.length==0) return; var self=$item.get(0); $item.addClass('megamenu-item-inited'); var default_item_css={ width: 'auto', height: 'auto' }; if(!isVerticalMenu&&!isHamburgerMenu&&!isPerspectiveMenu){ default_item_css.left=0; } $item .removeClass('megamenu-masonry-inited megamenu-fullwidth') .css(default_item_css); $(' > li', $item).css({ left: 0, top: 0 }).each(function(){ var old_width=$(this).data('old-width')||-1; if(old_width!=-1){ $(this).width(old_width).data('old-width', -1); }}); if(isResponsiveMenuVisible()){ return; } if(isVerticalMenu){ var container_width=window.gemOptions.clientWidth - $('#site-header-wrapper').outerWidth(); }else if(isPerspectiveMenu){ var container_width=window.gemOptions.clientWidth - $('#primary-navigation').outerWidth(); }else if(isHamburgerMenu){ var container_width=window.gemOptions.clientWidth - $('#primary-menu').outerWidth(); }else{ var $container=$item.closest('.header-main'), container_width=$container.width(), container_padding_left=parseInt($container.css('padding-left')), container_padding_right=parseInt($container.css('padding-right')), parent_width=$item.parent().outerWidth(); } var megamenu_width=$item.outerWidth(); if(megamenu_width > container_width){ megamenu_width=container_width; var new_megamenu_width=container_width - parseInt($item.css('padding-left')) - parseInt($item.css('padding-right')); var columns=$item.data('megamenu-columns')||4; var column_width=parseFloat(new_megamenu_width - columns * parseInt($(' > li.menu-item:first', $item).css('margin-left'))) / columns; var column_width_int=parseInt(column_width); $(' > li', $item).each(function(){ $(this).data('old-width', $(this).width()).css('width', column_width_int); }); $item.addClass('megamenu-fullwidth').width(new_megamenu_width - (column_width - column_width_int) * columns); } if(!isVerticalMenu&&!isHamburgerMenu&&!isPerspectiveMenu){ if(megamenu_width > parent_width){ var left=-(megamenu_width - parent_width) / 2; }else{ var left=0; } var container_offset=getOffset($container[0]); var megamenu_offset=getOffset(self); if((megamenu_offset.x - container_offset.x - container_padding_left + left) < 0){ left=-(megamenu_offset.x - container_offset.x - container_padding_left); } if((megamenu_offset.x + megamenu_width + left) > (container_offset.x + $container.outerWidth() - container_padding_right)){ left -=(megamenu_offset.x + megamenu_width + left) - (container_offset.x + $container.outerWidth() - container_padding_right); } $item.css('left', left).css('left'); } if($item.hasClass('megamenu-masonry')){ var positions={}, max_bottom=0; $item.width($item.width() - 1); var new_row_height=$('.megamenu-new-row', $item).outerHeight() + parseInt($('.megamenu-new-row', $item).css('margin-bottom')); $('> li.menu-item', $item).each(function(){ var pos=$(this).position(); if(positions[pos.left]!=null&&positions[pos.left]!=undefined){ var top_position=positions[pos.left]; }else{ var top_position=pos.top; } positions[pos.left]=top_position + $(this).outerHeight() + new_row_height + parseInt($(this).css('margin-bottom')); if(positions[pos.left] > max_bottom) max_bottom=positions[pos.left]; $(this).css({ left: pos.left, top: top_position }) }); $item.height(max_bottom - new_row_height - parseInt($item.css('padding-top')) - 1); $item.addClass('megamenu-masonry-inited'); } if($item.hasClass('megamenu-empty-right')){ var mega_width=$item.width(); var max_rights={ columns: [], position: -1 }; $('> li.menu-item', $item).removeClass('megamenu-no-right-border').each(function(){ var pos=$(this).position(); var column_right_position=pos.left + $(this).width(); if(column_right_position > max_rights.position){ max_rights.position=column_right_position; max_rights.columns=[]; } if(column_right_position==max_rights.position){ max_rights.columns.push($(this)); }}); if(max_rights.columns.length&&max_rights.position >=(mega_width - 7)){ max_rights.columns.forEach(function($li){ $li.addClass('megamenu-no-right-border'); }); }} if(isVerticalMenu||isHamburgerMenu||isPerspectiveMenu){ var clientHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight, itemOffset=$item.offset(), itemHeight=$item.outerHeight(), scrollTop=$(window).scrollTop(); if(itemOffset.top - scrollTop + itemHeight > clientHeight){ $item.css({ top: clientHeight - itemOffset.top + scrollTop - itemHeight - 20 }); }} $item.addClass('megamenu-inited'); } function primary_menu_reinit(){ if(isResponsiveMenuVisible()){ if(window.gemMobileMenuType=='default'){ var $submenuDisabled=$('#primary-navigation .dl-submenu-disabled'); if($submenuDisabled.length){ $submenuDisabled.addClass('dl-submenu').removeClass('dl-submenu-disabled'); }} if($('#primary-menu').hasClass('no-responsive')){ $('#primary-menu').removeClass('no-responsive'); } if(!$('#primary-navigation').hasClass('responsive')){ $('#primary-navigation').addClass('responsive'); } $('.menu-overlay').addClass('mobile'); window.fixMenuLogoPosition(); }else{ if(window.gemMobileMenuType=='overlay'&&!$('.header-layout-overlay').length&&$('.menu-overlay').hasClass('active')){ $('.mobile-menu-layout-overlay .menu-toggle').click(); } $('#primary-navigation').addClass('without-transition'); if(window.gemMobileMenuType=='default'){ $('#primary-navigation .dl-submenu').addClass('dl-submenu-disabled').removeClass('dl-submenu'); } $('#primary-menu').addClass('no-responsive'); $('#primary-navigation').removeClass('responsive'); $('.menu-overlay').removeClass('mobile'); window.fixMenuLogoPosition(); $('#primary-navigation').removeClass('without-transition'); }} if(window.gemMobileMenuType=='default'){ $('#primary-navigation .submenu-languages').addClass('dl-submenu'); } $('#primary-navigation > ul> li.menu-item-language').addClass('menu-item-parent'); fixMegaMenuWithSettings(); if(window.gemMobileMenuType=='default'){ var updateMobileMenuPosition=function(){ var siteHeaderHeight=$('#site-header').outerHeight(), windowHeight=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight; if($('#thegem-perspective #primary-menu').length){ $('#thegem-perspective > .mobile-menu-layout-default').css({ top: siteHeaderHeight }); } $('#primary-menu').css({ maxHeight: windowHeight - siteHeaderHeight }); }; $(window).resize(function(){ if(isResponsiveMenuVisible()&&$('#primary-menu').hasClass('dl-menuopen')){ setTimeout(updateMobileMenuPosition, 50); }else{ $('#primary-menu').css({ maxHeight: '' }); }}); $('#site-header .dl-trigger').on('click', function(){ updateMobileMenuPosition(); }); $('#primary-navigation').dlmenu({ animationClasses: { classin:'dl-animate-in', classout:'dl-animate-out' }, onLevelClick: function (el, name){ }, backLabel: thegem_dlmenu_settings.backLabel, showCurrentLabel: thegem_dlmenu_settings.showCurrentLabel }); } primary_menu_reinit(); $('#primary-menu > li').hover(function(){ var $items=$('ul:not(.minicart ul), .minicart, .minisearch', this); $items.removeClass('invert vertical-invert'); if(!$(this).hasClass('megamenu-enable')){ $items.css({top: ''}); } if($(this).hasClass('megamenu-enable') || $(this).closest('.header-layout-overlay').length || $(this).closest('.mobile-menu-layout-overlay').length&&isResponsiveMenuVisible()){ return; } var topItemTranslate=0; if($('>ul', this).css('transform')){ topItemTranslate=parseInt($('>ul', this).css('transform').split(',')[5]); } if(isNaN(topItemTranslate)){ topItemTranslate=0; } var windowScroll=$(window).scrollTop(), siteHeaderOffset=$('#site-header').offset(), siteHeaderOffsetTop=siteHeaderOffset.top - windowScroll, siteHeaderHeight=$('#site-header').outerHeight(); $items.each(function(){ var $item=$(this); var self=this; var itemOffset=$item.offset(), itemOffsetTop=itemOffset.top - windowScroll, itemOffsetLeft=itemOffset.left; if(itemOffsetLeft - $('#page').offset().left + $item.outerWidth() > $('#page').width()){ $item.addClass('invert'); } if(isVerticalMenu||isPerspectiveMenu||isHamburgerMenu){ if(itemOffsetTop - topItemTranslate + $item.outerHeight() > $(window).height()){ $item.addClass('vertical-invert'); var itemOffsetFix=itemOffsetTop - topItemTranslate + $item.outerHeight() - $(window).height(); if(itemOffsetTop - topItemTranslate - itemOffsetFix < 0){ itemOffsetFix=0; } $item.css({ top: -itemOffsetFix + 'px' }); }}else{ if(itemOffsetTop - topItemTranslate + $item.outerHeight() > $(window).height()){ $item.addClass('vertical-invert'); var itemOffsetFix=itemOffsetTop - topItemTranslate + $item.outerHeight() - $(window).height(); if(itemOffsetTop - topItemTranslate - itemOffsetFix < siteHeaderOffsetTop + siteHeaderHeight){ itemOffsetFix -=siteHeaderOffsetTop + siteHeaderHeight - (itemOffsetTop - topItemTranslate - itemOffsetFix); if(itemOffsetFix < 0){ itemOffsetFix=0; }} $item.css({ top: -itemOffsetFix + 'px' }); }} }); }, function(){} ); $('.hamburger-toggle').click(function(e){ e.preventDefault(); $(this).closest('#primary-navigation').toggleClass('hamburger-active'); $('.hamburger-overlay').toggleClass('active'); }); $('.overlay-toggle, .mobile-menu-layout-overlay .menu-toggle').click(function(e){ e.preventDefault(); if($('.menu-overlay').hasClass('active')){ $('.menu-overlay').removeClass('active'); $('.primary-navigation').addClass('close'); $('.primary-navigation').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e){ $('.primary-navigation').removeClass('overlay-active close'); $('.overlay-menu-wrapper').removeClass('active'); }); }else{ $('.overlay-menu-wrapper').addClass('active'); $('.primary-navigation').off('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend'); $('.primary-navigation').addClass('overlay-active').removeClass('close'); if(isResponsiveMenuVisible()){ $('#site-header').removeClass('hidden'); $('.menu-overlay').addClass('mobile'); }else{ $('.menu-overlay').removeClass('mobile'); } $('.menu-overlay').addClass('active'); }}); $('.mobile-menu-layout-slide-horizontal .primary-navigation #primary-menu li.menu-item-current, .mobile-menu-layout-slide-vertical .primary-navigation #primary-menu li.menu-item-current').each(function(){ $(this).addClass('opened'); $('> ul', this).show(); }); $('.mobile-menu-layout-slide-horizontal .menu-toggle, .mobile-menu-layout-slide-vertical .menu-toggle, .mobile-menu-slide-wrapper .mobile-menu-slide-close').click(function(e){ e.preventDefault(); $('#site-header').removeClass('hidden'); $('.mobile-menu-slide-wrapper').one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(e){ $(this).removeClass('animation'); }); $('.mobile-menu-slide-wrapper').addClass('animation').toggleClass('opened'); }); $('.mobile-menu-layout-slide-horizontal .primary-navigation #primary-menu .menu-item-parent-toggle, .mobile-menu-layout-slide-vertical .primary-navigation #primary-menu .menu-item-parent-toggle').on('click', function(e){ e.preventDefault(); var self=this; $(this).closest('li').toggleClass('opened'); $(this).siblings('ul').slideToggle(200, function(){ if(!$(self).closest('li').hasClass('opened')){ $(self).siblings('ul').find('li').removeClass('opened'); $(self).siblings('ul').css('display', ''); $(self).siblings('ul').find('ul').css('display', ''); }}); }); $('.header-layout-overlay #primary-menu a, .mobile-menu-layout-overlay .primary-navigation #primary-menu .menu-item-parent-toggle').on('click', function(e){ if(!$('#primary-menu').hasClass('no-responsive')&&!$(this).hasClass('menu-item-parent-toggle')){ return; } var $itemLink=$(this); var $item=$itemLink.closest('li'); if($item.hasClass('menu-item-parent')&&($item.closest('ul').hasClass('nav-menu')||$item.parent().closest('li').hasClass('menu-overlay-item-open'))){ e.preventDefault(); if($item.hasClass('menu-overlay-item-open')){ $(' > ul, .menu-overlay-item-open > ul', $item).each(function(){ $(this).css({height: $(this).outerHeight()+'px'}); }); setTimeout(function(){ $(' > ul, .menu-overlay-item-open > ul', $item).css({height: ''}); $('.menu-overlay-item-open', $item).add($item).removeClass('menu-overlay-item-open'); }, 50); }else{ var $oldActive=$('.primary-navigation .menu-overlay-item-open').not($item.parents()); $('> ul', $oldActive).not($item.parents()).each(function(){ $(this).css({height: $(this).outerHeight()+'px'}); }); setTimeout(function(){ $('> ul', $oldActive).not($item.parents()).css({height: ''}); $oldActive.removeClass('menu-overlay-item-open'); }, 50); $('> ul', $item).css({height: 'auto'}); var itemHeight=$('> ul', $item).outerHeight(); $('> ul', $item).css({height: ''}); setTimeout(function(){ $('> ul', $item).css({height: itemHeight+'px'}); $item.addClass('menu-overlay-item-open'); $('> ul', $item).one('webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend', function(){ $('> ul', $item).css({height: 'auto'}); }); }, 50); }} }); $('.vertical-toggle').click(function(e){ e.preventDefault(); $(this).closest('#site-header-wrapper').toggleClass('vertical-active'); }); $(function(){ $(window).resize(function(){ if(window.menuResizeTimeoutHandler){ clearTimeout(window.menuResizeTimeoutHandler); } window.menuResizeTimeoutHandler=setTimeout(primary_menu_reinit, 50); }); }); $('#primary-navigation a').click(function(e){ var $item=$(this); if($('#primary-menu').hasClass('no-responsive')&&window.gemSettings.isTouch&&$item.next('ul').length){ e.preventDefault(); }}); })(jQuery); (function($){ var transitionEndEvent={ 'WebkitTransition': 'webkitTransitionEnd', 'MozTransition': 'transitionend', 'OTransition': 'oTransitionEnd', 'msTransition': 'MSTransitionEnd', 'transition': 'transitionend' }[ window.supportedTransition ], clickEventName='click'; function initPerspective(){ var $menuToggleButton=$('.perspective-toggle'), $perspective=$('#thegem-perspective'), $page=$('#page'); if(!$perspective.length){ return false; } $menuToggleButton.on(clickEventName, function(event){ if($perspective.hasClass('animate')){ return; } var documentScrollTop=$(window).scrollTop(); $(window).scrollTop(0); var pageWidth=$page.outerWidth(), perspectiveWidth=$perspective.outerWidth(), pageCss={ width: pageWidth }; if(pageWidth < perspectiveWidth){ pageCss.marginLeft=$page[0].offsetLeft; } $page.css(pageCss); $perspective.addClass('modalview animate'); $page.scrollTop(documentScrollTop); event.preventDefault(); event.stopPropagation ? event.stopPropagation():(event.cancelBubble=true); }); $('#primary-navigation').on(clickEventName, function(event){ if(isResponsiveMenuVisible()){ return; } event.stopPropagation ? event.stopPropagation():(event.cancelBubble=true); }); $('#thegem-perspective .perspective-menu-close').on(clickEventName, function(event){ $perspective.click(); event.preventDefault(); event.stopPropagation ? event.stopPropagation():(event.cancelBubble=true); }); $perspective.on(clickEventName, function(event){ if(!$perspective.hasClass('animate')){ return; } var onEndTransitionCallback=function(event){ if(window.supportsTransitions&&(event.originalEvent.target.id!=='page'||event.originalEvent.propertyName.indexOf('transform')==-1)){ return; } $(this).off(transitionEndEvent, onEndTransitionCallback); var pageScrollTop=$page.scrollTop(); $perspective.removeClass('modalview'); $page.css({ width: '', marginLeft: '' }); $(window).scrollTop(pageScrollTop); $page.scrollTop(0); $(window).resize(); }; if(window.supportsTransitions){ $perspective.on(transitionEndEvent, onEndTransitionCallback); }else{ onEndTransitionCallback.call(); } $perspective.removeClass('animate'); }); } initPerspective(); })(jQuery); window.addComment=function(a){function b(){c(),g()}function c(a){if(t&&(m=j(r.cancelReplyId),n=j(r.commentFormId),m)){m.addEventListener("touchstart",e),m.addEventListener("click",e);for(var b,c=d(a),g=0,h=c.length;g').insertAfter($el); $checkbox.click(function(){ if($checkbox.closest('label').length) return; if($el.attr('type')=='radio'){ $el.prop('checked', true).trigger('change').trigger('click'); }else{ $el.prop('checked', !($el.is(':checked'))).trigger('change'); }}); $el.change(function(){ $('input[name="'+$el.attr('name')+'"]').each(function(){ if($(this).is(':checked')){ $(this).next('.'+$(this).attr('type')+'-sign').addClass('checked'); }else{ $(this).next('.'+$(this).attr('type')+'-sign').removeClass('checked'); }}); }); if($el.is(':checked')){ $checkbox.addClass('checked'); }else{ $checkbox.removeClass('checked'); }}); } $.fn.combobox=function(){ $(this).each(function(){ var $el=$(this); $el.insertBefore($el.parent('.combobox-wrapper')); $el.next('.combobox-wrapper').remove(); $el.css({ 'opacity': 0, 'position': 'absolute', 'left': 0, 'right': 0, 'top': 0, 'bottom': 0 }); var $comboWrap=$('').insertAfter($el); var $text=$('').appendTo($comboWrap); var $button=$('').appendTo($comboWrap); $el.appendTo($comboWrap); $el.change(function(){ $text.text($('option:selected', $el).text()); }); $text.text($('option:selected', $el).text()); $el.comboWrap=$comboWrap; }); }})(jQuery); jQuery.easing['jswing']=jQuery.easing['swing']; jQuery.extend(jQuery.easing, { def: 'easeOutQuad', swing: function (x, t, b, c, d){ return jQuery.easing[jQuery.easing.def](x, t, b, c, d); }, easeInQuad: function (x, t, b, c, d){ return c*(t/=d)*t + b; }, easeOutQuad: function (x, t, b, c, d){ return -c *(t/=d)*(t-2) + b; }, easeInOutQuad: function (x, t, b, c, d){ if((t/=d/2) < 1) return c/2*t*t + b; return -c/2 * ((--t)*(t-2) - 1) + b; }, easeInCubic: function (x, t, b, c, d){ return c*(t/=d)*t*t + b; }, easeOutCubic: function (x, t, b, c, d){ return c*((t=t/d-1)*t*t + 1) + b; }, easeInOutCubic: function (x, t, b, c, d){ if((t/=d/2) < 1) return c/2*t*t*t + b; return c/2*((t-=2)*t*t + 2) + b; }, easeInQuart: function (x, t, b, c, d){ return c*(t/=d)*t*t*t + b; }, easeOutQuart: function (x, t, b, c, d){ return -c * ((t=t/d-1)*t*t*t - 1) + b; }, easeInOutQuart: function (x, t, b, c, d){ if((t/=d/2) < 1) return c/2*t*t*t*t + b; return -c/2 * ((t-=2)*t*t*t - 2) + b; }, easeInQuint: function (x, t, b, c, d){ return c*(t/=d)*t*t*t*t + b; }, easeOutQuint: function (x, t, b, c, d){ return c*((t=t/d-1)*t*t*t*t + 1) + b; }, easeInOutQuint: function (x, t, b, c, d){ if((t/=d/2) < 1) return c/2*t*t*t*t*t + b; return c/2*((t-=2)*t*t*t*t + 2) + b; }, easeInSine: function (x, t, b, c, d){ return -c * Math.cos(t/d * (Math.PI/2)) + c + b; }, easeOutSine: function (x, t, b, c, d){ return c * Math.sin(t/d * (Math.PI/2)) + b; }, easeInOutSine: function (x, t, b, c, d){ return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; }, easeInExpo: function (x, t, b, c, d){ return (t==0) ? b:c * Math.pow(2, 10 * (t/d - 1)) + b; }, easeOutExpo: function (x, t, b, c, d){ return (t==d) ? b+c:c * (-Math.pow(2, -10 * t/d) + 1) + b; }, easeInOutExpo: function (x, t, b, c, d){ if(t==0) return b; if(t==d) return b+c; if((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; }, easeInCirc: function (x, t, b, c, d){ return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; }, easeOutCirc: function (x, t, b, c, d){ return c * Math.sqrt(1 - (t=t/d-1)*t) + b; }, easeInOutCirc: function (x, t, b, c, d){ if((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; }, easeInElastic: function (x, t, b, c, d){ var s=1.70158;var p=0;var a=c; if(t==0) return b; if((t/=d)==1) return b+c; if(!p) p=d*.3; if(a < Math.abs(c)){ a=c; var s=p/4; } else var s=p/(2*Math.PI) * Math.asin (c/a); return -(a*Math.pow(2,10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)) + b; }, easeOutElastic: function (x, t, b, c, d){ var s=1.70158;var p=0;var a=c; if(t==0) return b; if((t/=d)==1) return b+c; if(!p) p=d*.3; if(a < Math.abs(c)){ a=c; var s=p/4; } else var s=p/(2*Math.PI) * Math.asin (c/a); return a*Math.pow(2,-10*t) * Math.sin((t*d-s)*(2*Math.PI)/p) + c + b; }, easeInOutElastic: function (x, t, b, c, d){ var s=1.70158;var p=0;var a=c; if(t==0) return b; if((t/=d/2)==2) return b+c; if(!p) p=d*(.3*1.5); if(a < Math.abs(c)){ a=c; var s=p/4; } else var s=p/(2*Math.PI) * Math.asin (c/a); if(t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)) + b; return a*Math.pow(2,-10*(t-=1)) * Math.sin((t*d-s)*(2*Math.PI)/p)*.5 + c + b; }, easeInBack: function (x, t, b, c, d, s){ if(s==undefined) s=1.70158; return c*(t/=d)*t*((s+1)*t - s) + b; }, easeOutBack: function (x, t, b, c, d, s){ if(s==undefined) s=1.70158; return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; }, easeInOutBack: function (x, t, b, c, d, s){ if(s==undefined) s=1.70158; if((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; }, easeInBounce: function (x, t, b, c, d){ return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b; }, easeOutBounce: function (x, t, b, c, d){ if((t/=d) < (1/2.75)){ return c*(7.5625*t*t) + b; }else if(t < (2/2.75)){ return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; }else if(t < (2.5/2.75)){ return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; }else{ return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; }}, easeInOutBounce: function (x, t, b, c, d){ if(t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; }}); (function($){ function HeaderAnimation(el, options){ this.el=el; this.$el=$(el); this.options={ startTop: 1 }; $.extend(this.options, options); this.initialize(); } HeaderAnimation.prototype={ initialize: function(){ var self=this; this.$page=$('#page').length ? $('#page'):$('body'); this.$wrapper=$('#site-header-wrapper'); this.$topArea=$('#top-area'); this.topAreaInSiteHeader=$('#site-header #top-area').length > 0; this.$headerMain=$('.header-main', this.$el); this.hasAdminBar=document.body.className.indexOf('admin-bar')!=-1; this.adminBarOffset=0; this.adminBarHeight=0; this.topOffset=0; this.oldScrollY=0; this.isResponsive=null; this.isResponsiveOld=null; this.hideWrapper=this.$wrapper.hasClass('site-header-wrapper-transparent'); this.videoBackground=$('.page-title-block .gem-video-background').length&&$('.page-title-block .gem-video-background').data('headerup'); if(this.$el.hasClass('header-on-slideshow')&&$('#main-content > *').first().is('.gem-slideshow, .block-slideshow')){ this.$wrapper.css({position: 'absolute'}); } if(this.$el.hasClass('header-on-slideshow')&&$('#main-content > *').first().is('.gem-slideshow, .block-slideshow')){ this.$wrapper.addClass('header-on-slideshow'); }else{ this.$el.removeClass('header-on-slideshow'); } if(this.videoBackground){ this.$el.addClass('header-on-slideshow'); this.$wrapper.addClass('header-on-slideshow'); } this.initHeader(); $(document).ready(function(){ self.updateAdminBarInfo(); self.updateStartTop(); }); $(window).scroll(function(){ self.scrollHandler(); }); if($('#thegem-perspective').length){ this.$page.scroll(function(){ self.scrollHandler(); }); } $(window).resize(function(){ setTimeout(function(){ self.initHeader(); self.scrollHandler(); }, 0); }); }, initHeader: function(){ this.isResponsiveOld=this.isResponsive; this.isResponsive=window.isResponsiveMenuVisible(); if(this.isResponsive){ this.$el.addClass('shrink-mobile'); }else{ this.$el.removeClass('shrink-mobile'); } this.updateAdminBarInfo(); this.updateStartTop(); if(this.isResponsive!=this.isResponsiveOld){ this.initializeStyles(); }}, updateAdminBarInfo: function(){ if(this.hasAdminBar){ this.adminBarHeight=$('#wpadminbar').outerHeight(); this.adminBarOffset=this.hasAdminBar&&$('#wpadminbar').css('position')=='fixed' ? parseInt(this.adminBarHeight):0; }}, updateStartTop: function(){ if(this.$topArea.length&&this.$topArea.is(':visible')&&!this.topAreaInSiteHeader){ this.options.startTop=this.$topArea.outerHeight(); }else{ this.options.startTop=1; } if(this.hasAdminBar&&this.adminBarOffset==0){ this.options.startTop +=this.adminBarHeight; }}, setMargin: function($img){ var $small=$img.siblings('img.small'), w=0; if(this.$headerMain.hasClass('logo-position-right')){ w=$small.width(); }else if(this.$headerMain.hasClass('logo-position-center')||this.$headerMain.hasClass('logo-position-menu_center')){ w=$img.width(); var smallWidth=$small.width(), offset=(w - smallWidth) / 2; w=smallWidth + offset; $small.css('margin-right', offset + 'px'); } if(!w){ w=$img.width(); } $small.css('margin-left', '-' + w + 'px'); $img.parent().css('min-width', w + 'px'); $small.show(); }, initializeStyles: function(){ var self=this; if(this.$headerMain.hasClass('logo-position-menu_center')){ var $img=$('#primary-navigation .menu-item-logo a .logo img.default', this.$el); }else{ var $img=$('.site-title a .logo img:visible', this.$el); } if($img.length&&$img[0].complete){ self.setMargin($img); self.initializeHeight(); }else{ $img.on('load error', function(){ self.setMargin($img); self.initializeHeight(); }); }}, initializeHeight: function(){ if(this.hideWrapper){ return false; } that=this; setTimeout(function(){ var shrink=that.$el.hasClass('shrink'); if(shrink){ that.$el.removeClass('shrink').addClass('without-transition'); } var elHeight=that.$el.outerHeight(); that.$wrapper.height(elHeight); if(shrink){ that.$el.addClass('shrink').removeClass('without-transition'); }}, 50); }, scrollHandler: function(){ var self=this, scrollY=this.getScrollY(); if(scrollY >=this.options.startTop){ if(!this.$el.hasClass('shrink')){ var shrinkClass='shrink fixed'; if(window.gemSettings.fillTopArea){ shrinkClass +=' fill'; } this.$el.addClass(shrinkClass) } var top=0; if(this.$page[0].scrollTop > 0){ top +=this.$page[0].scrollTop; }else{ if(this.hasAdminBar){ top +=this.adminBarOffset; }} this.$el.css({ top: top!=0 ? top:'' }); }else{ if(this.$el.hasClass('shrink')){ this.$el.removeClass('shrink fixed') } if(this.hasAdminBar){ this.$el.css({ top: '' }); }} if(this.isResponsive&&!this.$wrapper.hasClass('sticky-header-on-mobile')){ if(!$('.mobile-menu-slide-wrapper.opened').length&&!$('#primary-menu.dl-menuopen').length&&!$('.menu-overlay.active').length){ if(scrollY - this.oldScrollY > 0&&scrollY > 300&&!this.$el.hasClass('hidden')){ self.$el.addClass('hidden'); } if(scrollY - this.oldScrollY < 0&&this.$el.hasClass('hidden')){ self.$el.removeClass('hidden'); }}else{ self.$el.removeClass('hidden'); }} this.oldScrollY=scrollY; }, getScrollY: function(){ return window.pageYOffset||document.documentElement.scrollTop + this.$page[0].scrollTop; }, }; $.fn.headerAnimation=function(options){ options=options||{}; return new HeaderAnimation(this.get(0), options); };})(jQuery); (function($){ var prefixes='Webkit Moz ms Ms O'.split(' '); var docElemStyle=document.documentElement.style; function getStyleProperty(propName){ if(!propName){ return; } if(typeof docElemStyle[ propName ]==='string'){ return propName; } propName=propName.charAt(0).toUpperCase() + propName.slice(1); var prefixed; for(var i=0, len=prefixes.length; i < len; i++){ prefixed=prefixes[i] + propName; if(typeof docElemStyle[ prefixed ]==='string'){ return prefixed; }} } var transitionProperty=getStyleProperty('transition'); var transitionEndEvent={ WebkitTransition: 'webkitTransitionEnd', MozTransition: 'transitionend', OTransition: 'otransitionend', transition: 'transitionend' }[ transitionProperty ]; function getElementData(element, attributeNameCamel, attributeName, defaultValue){ if(element.dataset!=undefined){ if(element.dataset[attributeNameCamel]!=undefined){ return element.dataset[attributeNameCamel]; }else{ var value=$(element).data(attributeName); if(value==undefined){ return defaultValue; } return value; } return element.dataset[attributeNameCamel]!=undefined ? element.dataset[attributeNameCamel]:defaultValue; } var value=this.getAttribute(attributeName); return value!=null&&value!='' ? value:defaultValue; } function Queue(lazyInstance){ this.lazyInstance=lazyInstance; this.queue=[]; this.running=false; this.initTimer(); } Queue.prototype={ add: function(element){ this.queue.push(element); }, next: function(){ if(this.running||this.queue.length==0) return false; this.running=true; var element=this.queue.shift(); if(element.isOnTop()){ element.forceShow(); this.finishPosition(); return; } element.startAnimation(); }, finishPosition: function(){ this.running=false; this.next(); }, initTimer: function(){ var self=this; this.timer=document.createElement('div'); this.timer.className='lazy-loading-timer-element'; document.body.appendChild(this.timer); this.timerCallback=function(){}; $(this.timer).bind(transitionEndEvent, function(event){ self.timerCallback(); }); this.timer.className +=' start-timer'; }, startTimer: function(callback){ this.timerCallback=callback; if(this.timer.className.indexOf('start-timer')!=-1){ this.timer.className=this.timer.className.replace(' start-timer', ''); }else{ this.timer.className +=' start-timer'; }} }; function Group(el, lazyInstance){ this.el=el; this.$el=$(el); this.lazyInstance=lazyInstance; this.elements=[]; this.showed=false; this.finishedElementsCount=0; this.position={ left: 0, top: 0 }; this.options={ offset: parseFloat(getElementData(el, 'llOffset', 'll-offset', 0.7)), itemDelay: getElementData(el, 'llItemDelay', 'll-item-delay', -1), isFirst: lazyInstance.hasHeaderVisuals&&this.el.className.indexOf('lazy-loading-first')!=-1, force: getElementData(el, 'llForceStart', 'll-force-start', 0)!=0, finishDelay: getElementData(el, 'llFinishDelay', 'll-finish-delay', 200) }; this.$el.addClass('lazy-loading-before-start-animation'); } timeNow=function (){ var newDate=new Date(); return ((newDate.getHours() < 10)?"0":"") + newDate.getHours() +":"+ ((newDate.getMinutes() < 10)?"0":"") + newDate.getMinutes() +":"+ ((newDate.getSeconds() < 10)?"0":"") + newDate.getSeconds(); } Group.prototype={ addElement: function(element){ this.elements.push(element); }, setElements: function(elements){ this.elements=elements; }, getElements: function(){ return this.elements; }, getElementsCount: function(){ return this.elements.length; }, getItemDelay: function(){ return this.options.itemDelay; }, updatePosition: function(){ this.position=$(this.el).offset(); }, getPosition: function(){ return this.position; }, isShowed: function(){ return this.showed; }, isVisible: function(){ if(this.options.force) return true; return (this.position.top + this.options.offset * this.el.offsetHeight <=this.lazyInstance.getWindowBottom()) && (this.position.top + (1 - this.options.offset) * this.el.offsetHeight >=this.lazyInstance.getWindowTop()); }, isOnTop: function(){ return false; }, show: function(){ this.lazyInstance.queue.add(this); this.showed=true; }, forceShow: function(){ this.showed=true; this.el.className=this.el.className.replace('lazy-loading-before-start-animation', 'lazy-loading-end-animation'); }, startAnimation: function(){ var self=this; self.elements.forEach(function(element){ element.$el.bind(transitionEndEvent, function(event){ var target=event.target||event.srcElement; if(target!=element.el){ return; } element.$el.unbind(transitionEndEvent); self.finishedElementsCount++; if(self.finishedElementsCount >=self.getElementsCount()){ var className=self.el.className .replace('lazy-loading-before-start-animation', '') .replace('lazy-loading-start-animation', 'lazy-loading-end-animation'); self.el.className=className; }}); element.show(); }); if(self.options.finishDelay > 0){ self.lazyInstance.queue.startTimer(function(){ self.finishAnimation(); }); }else{ self.finishAnimation(); } self.$el.addClass('lazy-loading-start-animation'); }, finishAnimation: function(){ this.lazyInstance.queue.finishPosition(); }}; function Element(el, group){ this.el=el; this.$el=$(el); this.group=group; this.options={ effect: getElementData(el, 'llEffect', 'll-effect', ''), delay: getElementData(el, 'llItemDelay', 'll-item-delay', group.getItemDelay()), actionFunction: getElementData(el, 'llActionFunc', 'll-action-func', '') }; this.options.queueType=this.options.delay!=-1 ? 'async':'sync'; if(this.options.effect!=''){ this.$el.addClass('lazy-loading-item-' + this.getEffectClass()); }} Element.prototype={ effects: { action: function(element){ if(!element.options.actionFunction || window[element.options.actionFunction]==null || window[element.options.actionFunction]==undefined){ return; } window[element.options.actionFunction](element.el); }}, getEffectClass: function(){ var effectClass=this.options.effect; if(effectClass=='drop-right-without-wrap'||effectClass=='drop-right-unwrap'){ return 'drop-right'; } return effectClass; }, show: function(){ if(this.effects[this.options.effect]!=undefined){ this.effects[this.options.effect](this); }} }; LazyLoading.prototype={ initialize: function(){ this.queue=new Queue(this); this.groups=[]; this.hasHeaderVisuals=$('.ls-wp-container').length > 0; this.$checkPoint=$('#lazy-loading-point'); if(!this.$checkPoint.length){ $('
    ').insertAfter('#main'); this.$checkPoint=$('#lazy-loading-point'); } this.windowBottom=0; this.windowHeight=0; this.scrollHandle=false; this.perspectiveOpened=false; this.$page=$('#page'); $(document).ready(this.documentReady.bind(this)); }, documentReady: function(){ var self=this; this.updateCheckPointOffset(); this.updateWindowHeight(); this.buildGroups(); this.windowScroll(); $(window).resize(this.windowResize.bind(this)); $(window).scroll(this.windowScroll.bind(this)); $(window).on('perspective-modalview-opened', function(){ self.perspectiveOpened=true; }); $(window).on('perspective-modalview-closed', function(){ self.perspectiveOpened=false; }); }, windowResize: function(){ this.updateWindowHeight(); this.updateGroups(); this.windowScroll(); }, buildGroups: function(){ var self=this; self.groups=[]; $('.lazy-loading').each(function(){ var group=new Group(this, self); group.updatePosition(); $('.lazy-loading-item', this).each(function(){ group.addElement(new Element(this, group)); }); if(group.getElementsCount() > 0){ self.groups.push(group); }}); }, updateGroups: function(){ var self=this; self.groups.forEach(function(group){ if(group.isShowed()){ return; } group.updatePosition(); }); }, windowScroll: function(){ if(this.scrollHandle){ } this.scrollHandle=true; this.calculateWindowTop(); this.calculateWindowBottom(); if(this.isGroupsPositionsChanged()){ this.updateGroups(); } this.groups.forEach(function(group){ if(group.isShowed()){ return; } if(group.isOnTop()){ group.forceShow(); } if(group.isVisible()){ group.show(); }}); this.scrollHandle=false; this.queue.next(); }, calculateWindowBottom: function(){ if(self.perspectiveOpened){ this.windowBottom=this.windowTop + this.$page.height(); }else{ this.windowBottom=this.windowTop + this.windowHeight; }}, calculateWindowTop: function(){ if(self.perspectiveOpened){ this.windowTop=this.$page.scrollTop(); }else{ this.windowTop=$(window).scrollTop(); }}, getWindowTop: function(){ return this.windowTop; }, getWindowBottom: function(){ return this.windowBottom; }, updateWindowHeight: function(){ this.windowHeight=$(window).height(); }, getWindowHeight: function(){ return this.windowHeight; }, updateCheckPointOffset: function(){ this.checkPointOffset=this.$checkPoint.length ? this.$checkPoint.offset().top:0; }, isGroupsPositionsChanged: function(){ var oldCheckPointOffset=this.checkPointOffset; this.updateCheckPointOffset(); return Math.abs(this.checkPointOffset - oldCheckPointOffset) > 1; }, getLastGroup: function(){ if(!this.groups.length){ return null; } return this.groups[this.groups.length - 1]; }}; function LazyLoading(options){ this.options={}; $.extend(this.options, options); this.initialize(); } $.lazyLoading=function(options){ return new LazyLoading(options); }})(jQuery); (function($, window, document, Math, undefined){ var div=document.createElement("div"), divStyle=div.style, suffix="Transform", testProperties=[ "O" + suffix, "ms" + suffix, "Webkit" + suffix, "Moz" + suffix ], i=testProperties.length, supportProperty, supportMatrixFilter, supportFloat32Array="Float32Array" in window, propertyHook, propertyGet, rMatrix=/Matrix([^)]*)/, rAffine=/^\s*matrix\(\s*1\s*,\s*0\s*,\s*0\s*,\s*1\s*(?:,\s*0(?:px)?\s*){2}\)\s*$/, _transform="transform", _transformOrigin="transformOrigin", _translate="translate", _rotate="rotate", _scale="scale", _skew="skew", _matrix="matrix"; while(i--){ if(testProperties[i] in divStyle){ $.support[_transform]=supportProperty=testProperties[i]; $.support[_transformOrigin]=supportProperty + "Origin"; continue; }} if(!supportProperty){ $.support.matrixFilter=supportMatrixFilter=divStyle.filter===""; } $.cssNumber[_transform]=$.cssNumber[_transformOrigin]=true; if(supportProperty&&supportProperty!=_transform){ $.cssProps[_transform]=supportProperty; $.cssProps[_transformOrigin]=supportProperty + "Origin"; if(supportProperty=="Moz" + suffix){ propertyHook={ get: function(elem, computed){ return (computed ? $.css(elem, supportProperty).split("px").join(""): elem.style[supportProperty] ); }, set: function(elem, value){ elem.style[supportProperty]=/matrix\([^)p]*\)/.test(value) ? value.replace(/matrix((?:[^,]*,){4})([^,]*),([^)]*)/, _matrix+"$1$2px,$3px"): value; }}; }else if(/^1\.[0-5](?:\.|$)/.test($.fn.jquery)){ propertyHook={ get: function(elem, computed){ return (computed ? $.css(elem, supportProperty.replace(/^ms/, "Ms")): elem.style[supportProperty] ); }};} /* TODO: leverage hardware acceleration of 3d transform in Webkit only else if(supportProperty=="Webkit" + suffix&&support3dTransform){ propertyHook={ set: function(elem, value){ elem.style[supportProperty] = value.replace(); }} }*/ }else if(supportMatrixFilter){ propertyHook={ get: function(elem, computed, asArray){ var elemStyle=(computed&&elem.currentStyle ? elem.currentStyle:elem.style), matrix, data; if(elemStyle&&rMatrix.test(elemStyle.filter)){ matrix=RegExp.$1.split(","); matrix=[ matrix[0].split("=")[1], matrix[2].split("=")[1], matrix[1].split("=")[1], matrix[3].split("=")[1] ]; }else{ matrix=[1,0,0,1]; } if(! $.cssHooks[_transformOrigin]){ matrix[4]=elemStyle ? parseInt(elemStyle.left, 10)||0:0; matrix[5]=elemStyle ? parseInt(elemStyle.top, 10)||0:0; }else{ data=$._data(elem, "transformTranslate", undefined); matrix[4]=data ? data[0]:0; matrix[5]=data ? data[1]:0; } return asArray ? matrix:_matrix+"(" + matrix + ")"; }, set: function(elem, value, animate){ var elemStyle=elem.style, currentStyle, Matrix, filter, centerOrigin; if(!animate){ elemStyle.zoom=1; } value=matrix(value); Matrix=[ "Matrix("+ "M11="+value[0], "M12="+value[2], "M21="+value[1], "M22="+value[3], "SizingMethod='auto expand'" ].join(); filter=(currentStyle=elem.currentStyle)&¤tStyle.filter||elemStyle.filter||""; elemStyle.filter=rMatrix.test(filter) ? filter.replace(rMatrix, Matrix) : filter + " progid:DXImageTransform.Microsoft." + Matrix + ")"; if(! $.cssHooks[_transformOrigin]){ if((centerOrigin=$.transform.centerOrigin)){ elemStyle[centerOrigin=="margin" ? "marginLeft":"left"]=-(elem.offsetWidth/2) + (elem.clientWidth/2) + "px"; elemStyle[centerOrigin=="margin" ? "marginTop":"top"]=-(elem.offsetHeight/2) + (elem.clientHeight/2) + "px"; } elemStyle.left=value[4] + "px"; elemStyle.top=value[5] + "px"; }else{ $.cssHooks[_transformOrigin].set(elem, value); }} };} if(propertyHook){ $.cssHooks[_transform]=propertyHook; } propertyGet=propertyHook&&propertyHook.get||$.css; $.fx.step.transform=function(fx){ var elem=fx.elem, start=fx.start, end=fx.end, pos=fx.pos, transform="", precision=1E5, i, startVal, endVal, unit; if(!start||typeof start==="string"){ if(!start){ start=propertyGet(elem, supportProperty); } if(supportMatrixFilter){ elem.style.zoom=1; } end=end.split("+=").join(start); $.extend(fx, interpolationList(start, end)); start=fx.start; end=fx.end; } i=start.length; while(i--){ startVal=start[i]; endVal=end[i]; unit=+false; switch(startVal[0]){ case _translate: unit="px"; case _scale: unit||(unit=""); transform=startVal[0] + "(" + Math.round((startVal[1][0] + (endVal[1][0] - startVal[1][0]) * pos) * precision) / precision + unit +","+ Math.round((startVal[1][1] + (endVal[1][1] - startVal[1][1]) * pos) * precision) / precision + unit + ")"+ transform; break; case _skew + "X": case _skew + "Y": case _rotate: transform=startVal[0] + "(" + Math.round((startVal[1] + (endVal[1] - startVal[1]) * pos) * precision) / precision +"rad)"+ transform; break; }} fx.origin&&(transform=fx.origin + transform); propertyHook&&propertyHook.set ? propertyHook.set(elem, transform, +true): elem.style[supportProperty]=transform; }; function matrix(transform){ transform=transform.split(")"); var trim=$.trim , i=-1 , l=transform.length -1 , split, prop, val , prev=supportFloat32Array ? new Float32Array(6):[] , curr=supportFloat32Array ? new Float32Array(6):[] , rslt=supportFloat32Array ? new Float32Array(6):[1,0,0,1,0,0] ; prev[0]=prev[3]=rslt[0]=rslt[3]=1; prev[1]=prev[2]=prev[4]=prev[5]=0; while ( ++i < l){ split=transform[i].split("("); prop=trim(split[0]); val=split[1]; curr[0]=curr[3]=1; curr[1]=curr[2]=curr[4]=curr[5]=0; switch (prop){ case _translate+"X": curr[4]=parseInt(val, 10); break; case _translate+"Y": curr[5]=parseInt(val, 10); break; case _translate: val=val.split(","); curr[4]=parseInt(val[0], 10); curr[5]=parseInt(val[1]||0, 10); break; case _rotate: val=toRadian(val); curr[0]=Math.cos(val); curr[1]=Math.sin(val); curr[2]=-Math.sin(val); curr[3]=Math.cos(val); break; case _scale+"X": curr[0]=+val; break; case _scale+"Y": curr[3]=val; break; case _scale: val=val.split(","); curr[0]=val[0]; curr[3]=val.length>1 ? val[1]:val[0]; break; case _skew+"X": curr[2]=Math.tan(toRadian(val)); break; case _skew+"Y": curr[1]=Math.tan(toRadian(val)); break; case _matrix: val=val.split(","); curr[0]=val[0]; curr[1]=val[1]; curr[2]=val[2]; curr[3]=val[3]; curr[4]=parseInt(val[4], 10); curr[5]=parseInt(val[5], 10); break; } rslt[0]=prev[0] * curr[0] + prev[2] * curr[1]; rslt[1]=prev[1] * curr[0] + prev[3] * curr[1]; rslt[2]=prev[0] * curr[2] + prev[2] * curr[3]; rslt[3]=prev[1] * curr[2] + prev[3] * curr[3]; rslt[4]=prev[0] * curr[4] + prev[2] * curr[5] + prev[4]; rslt[5]=prev[1] * curr[4] + prev[3] * curr[5] + prev[5]; prev=[rslt[0],rslt[1],rslt[2],rslt[3],rslt[4],rslt[5]]; } return rslt; } function unmatrix(matrix){ var scaleX , scaleY , skew , A=matrix[0] , B=matrix[1] , C=matrix[2] , D=matrix[3] ; if(A * D - B * C){ scaleX=Math.sqrt(A * A + B * B); A /=scaleX; B /=scaleX; skew=A * C + B * D; C -=A * skew; D -=B * skew; scaleY=Math.sqrt(C * C + D * D); C /=scaleY; D /=scaleY; skew /=scaleY; if(A * D < B * C){ A=-A; B=-B; skew=-skew; scaleX=-scaleX; }}else{ scaleX=scaleY=skew=0; } return [ [_translate, [+matrix[4], +matrix[5]]], [_rotate, Math.atan2(B, A)], [_skew + "X", Math.atan(skew)], [_scale, [scaleX, scaleY]] ]; } function interpolationList(start, end){ var list={ start: [], end: [] }, i=-1, l, currStart, currEnd, currType; (start=="none"||isAffine(start))&&(start=""); (end=="none"||isAffine(end))&&(end=""); if(start&&end&&!end.indexOf("matrix")&&toArray(start).join()==toArray(end.split(")")[0]).join()){ list.origin=start; start=""; end=end.slice(end.indexOf(")") +1); } if(!start&&!end){ return; } if(!start||!end||functionList(start)==functionList(end)){ start&&(start=start.split(")"))&&(l=start.length); end&&(end=end.split(")"))&&(l=end.length); while ( ++i < l-1){ start[i]&&(currStart=start[i].split("(")); end[i]&&(currEnd=end[i].split("(")); currType=$.trim(( currStart||currEnd)[0]); append(list.start, parseFunction(currType, currStart ? currStart[1]:0)); append(list.end, parseFunction(currType, currEnd ? currEnd[1]:0)); }}else{ list.start=unmatrix(matrix(start)); list.end=unmatrix(matrix(end)) } return list; } function parseFunction(type, value){ var defaultValue=+(!type.indexOf(_scale)), scaleX, cat=type.replace(/e[XY]/, "e"); switch(type){ case _translate+"Y": case _scale+"Y": value=[ defaultValue, value ? parseFloat(value): defaultValue ]; break; case _translate+"X": case _translate: case _scale+"X": scaleX=1; case _scale: value=value ? (value=value.split(","))&&[ parseFloat(value[0]), parseFloat(value.length>1 ? value[1]:type==_scale ? scaleX||value[0]:defaultValue+"") ]: [defaultValue, defaultValue]; break; case _skew+"X": case _skew+"Y": case _rotate: value=value ? toRadian(value):0; break; case _matrix: return unmatrix(value ? toArray(value):[1,0,0,1,0,0]); break; } return [[ cat, value ]]; } function isAffine(matrix){ return rAffine.test(matrix); } function functionList(transform){ return transform.replace(/(?:\([^)]*\))|\s/g, ""); } function append(arr1, arr2, value){ while(value=arr2.shift()){ arr1.push(value); }} function toRadian(value){ return ~value.indexOf("deg") ? parseInt(value,10) * (Math.PI * 2 / 360): ~value.indexOf("grad") ? parseInt(value,10) * (Math.PI/200): parseFloat(value); } function toArray(matrix){ matrix=/([^,]*),([^,]*),([^,]*),([^,]*),([^,p]*)(?:px)?,([^)p]*)(?:px)?/.exec(matrix); return [matrix[1], matrix[2], matrix[3], matrix[4], matrix[5], matrix[6]]; } $.transform={ centerOrigin: "margin" };})(jQuery, window, document, Math); !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){var b="ui-effects-",c=a; return a.effects={effect:{}},function(a,b){function c(a,b,c){var d=l[b.type]||{};return null==a?c||!b.def?null:b.def:(a=d.floor?~~a:parseFloat(a),isNaN(a)?b.def:d.mod?(a+d.mod)%d.mod:0>a?0:d.max")[0],o=a.each;n.style.cssText="background-color:rgba(1,1,1,.5)",m.rgba=n.style.backgroundColor.indexOf("rgba")>-1,o(k,function(a,b){b.cache="_"+a,b.props.alpha={idx:3,type:"percent",def:1}}),j.fn=a.extend(j.prototype,{parse:function(e,g,h,i){if(e===b)return this._rgba=[null,null,null,null],this;(e.jquery||e.nodeType)&&(e=a(e).css(g),g=b);var l=this,m=a.type(e),n=this._rgba=[];return g!==b&&(e=[e,g,h,i],m="array"),"string"===m?this.parse(d(e)||f._default):"array"===m?(o(k.rgba.props,function(a,b){n[b.idx]=c(e[b.idx],b)}),this):"object"===m?(e instanceof j?o(k,function(a,b){e[b.cache]&&(l[b.cache]=e[b.cache].slice())}):o(k,function(b,d){var f=d.cache;o(d.props,function(a,b){if(!l[f]&&d.to){if("alpha"===a||null==e[a])return;l[f]=d.to(l._rgba)}l[f][b.idx]=c(e[a],b,!0)}),l[f]&&a.inArray(null,l[f].slice(0,3))<0&&(l[f][3]=1,d.from&&(l._rgba=d.from(l[f])))}),this):void 0},is:function(a){var b=j(a),c=!0,d=this;return o(k,function(a,e){var f,g=b[e.cache];return g&&(f=d[e.cache]||e.to&&e.to(d._rgba)||[],o(e.props,function(a,b){if(null!=g[b.idx])return c=g[b.idx]===f[b.idx]})),c}),c},_space:function(){var a=[],b=this;return o(k,function(c,d){b[d.cache]&&a.push(c)}),a.pop()},transition:function(a,b){var d=j(a),e=d._space(),f=k[e],g=0===this.alpha()?j("transparent"):this,h=g[f.cache]||f.to(g._rgba),i=h.slice();return d=d[f.cache],o(f.props,function(a,e){var f=e.idx,g=h[f],j=d[f],k=l[e.type]||{};null!==j&&(null===g?i[f]=j:(k.mod&&(j-g>k.mod/2?g+=k.mod:g-j>k.mod/2&&(g-=k.mod)),i[f]=c((j-g)*b+g,e)))}),this[e](i)},blend:function(b){if(1===this._rgba[3])return this;var c=this._rgba.slice(),d=c.pop(),e=j(b)._rgba;return j(a.map(c,function(a,b){return(1-d)*e[b]+d*a}))},toRgbaString:function(){var b="rgba(",c=a.map(this._rgba,function(a,b){return null==a?b>2?1:0:a});return 1===c[3]&&(c.pop(),b="rgb("),b+c.join()+")"},toHslaString:function(){var b="hsla(",c=a.map(this.hsla(),function(a,b){return null==a&&(a=b>2?1:0),b&&b<3&&(a=Math.round(100*a)+"%"),a});return 1===c[3]&&(c.pop(),b="hsl("),b+c.join()+")"},toHexString:function(b){var c=this._rgba.slice(),d=c.pop();return b&&c.push(~~(255*d)),"#"+a.map(c,function(a){return a=(a||0).toString(16),1===a.length?"0"+a:a}).join("")},toString:function(){return 0===this._rgba[3]?"transparent":this.toRgbaString()}}),j.fn.parse.prototype=j.fn,k.hsla.to=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b,c,d=a[0]/255,e=a[1]/255,f=a[2]/255,g=a[3],h=Math.max(d,e,f),i=Math.min(d,e,f),j=h-i,k=h+i,l=.5*k;return b=i===h?0:d===h?60*(e-f)/j+360:e===h?60*(f-d)/j+120:60*(d-e)/j+240,c=0===j?0:l<=.5?j/k:j/(2-k),[Math.round(b)%360,c,l,null==g?1:g]},k.hsla.from=function(a){if(null==a[0]||null==a[1]||null==a[2])return[null,null,null,a[3]];var b=a[0]/360,c=a[1],d=a[2],f=a[3],g=d<=.5?d*(1+c):d+c-d*c,h=2*d-g;return[Math.round(255*e(h,g,b+1/3)),Math.round(255*e(h,g,b)),Math.round(255*e(h,g,b-1/3)),f]},o(k,function(d,e){var f=e.props,g=e.cache,i=e.to,k=e.from;j.fn[d]=function(d){if(i&&!this[g]&&(this[g]=i(this._rgba)),d===b)return this[g].slice();var e,h=a.type(d),l="array"===h||"object"===h?d:arguments,m=this[g].slice();return o(f,function(a,b){var d=l["object"===h?a:b.idx];null==d&&(d=m[b.idx]),m[b.idx]=c(d,b)}),k?(e=j(k(m)),e[g]=m,e):j(m)},o(f,function(b,c){j.fn[b]||(j.fn[b]=function(e){var f,g=a.type(e),i="alpha"===b?this._hsla?"hsla":"rgba":d,j=this[i](),k=j[c.idx];return"undefined"===g?k:("function"===g&&(e=e.call(this,k),g=a.type(e)),null==e&&c.empty?this:("string"===g&&(f=h.exec(e),f&&(e=k+parseFloat(f[2])*("+"===f[1]?1:-1))),j[c.idx]=e,this[i](j)))})})}),j.hook=function(b){var c=b.split(" ");o(c,function(b,c){a.cssHooks[c]={set:function(b,e){var f,g,h="";if("transparent"!==e&&("string"!==a.type(e)||(f=d(e)))){if(e=j(f||e),!m.rgba&&1!==e._rgba[3]){for(g="backgroundColor"===c?b.parentNode:b;(""===h||"transparent"===h)&&g&&g.style;)try{h=a.css(g,"backgroundColor"),g=g.parentNode}catch(i){}e=e.blend(h&&"transparent"!==h?h:"_default")}e=e.toRgbaString()}try{b.style[c]=e}catch(i){}}},a.fx.step[c]=function(b){b.colorInit||(b.start=j(b.elem,c),b.end=j(b.end),b.colorInit=!0),a.cssHooks[c].set(b.elem,b.start.transition(b.end,b.pos))}})},j.hook(g),a.cssHooks.borderColor={expand:function(a){var b={};return o(["Top","Right","Bottom","Left"],function(c,d){b["border"+d+"Color"]=a}),b}},f=a.Color.names={aqua:"#00ffff",black:"#000000",blue:"#0000ff",fuchsia:"#ff00ff",gray:"#808080",green:"#008000",lime:"#00ff00",maroon:"#800000",navy:"#000080",olive:"#808000",purple:"#800080",red:"#ff0000",silver:"#c0c0c0",teal:"#008080",white:"#ffffff",yellow:"#ffff00",transparent:[null,null,null,0],_default:"#ffffff"}}(c),function(){function b(b){var c,d,e=b.ownerDocument.defaultView?b.ownerDocument.defaultView.getComputedStyle(b,null):b.currentStyle,f={};if(e&&e.length&&e[0]&&e[e[0]])for(d=e.length;d--;)c=e[d],"string"==typeof e[c]&&(f[a.camelCase(c)]=e[c]);else for(c in e)"string"==typeof e[c]&&(f[c]=e[c]);return f}function d(b,c){var d,e,g={};for(d in c)e=c[d],b[d]!==e&&(f[d]||!a.fx.step[d]&&isNaN(parseFloat(e))||(g[d]=e));return g}var e=["add","remove","toggle"],f={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};a.each(["borderLeftStyle","borderRightStyle","borderBottomStyle","borderTopStyle"],function(b,d){a.fx.step[d]=function(a){("none"!==a.end&&!a.setAttr||1===a.pos&&!a.setAttr)&&(c.style(a.elem,d,a.end),a.setAttr=!0)}}),a.fn.addBack||(a.fn.addBack=function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}),a.effects.animateClass=function(c,f,g,h){var i=a.speed(f,g,h);return this.queue(function(){var f,g=a(this),h=g.attr("class")||"",j=i.children?g.find("*").addBack():g;j=j.map(function(){var c=a(this);return{el:c,start:b(this)}}),f=function(){a.each(e,function(a,b){c[b]&&g[b+"Class"](c[b])})},f(),j=j.map(function(){return this.end=b(this.el[0]),this.diff=d(this.start,this.end),this}),g.attr("class",h),j=j.map(function(){var b=this,c=a.Deferred(),d=a.extend({},i,{queue:!1,complete:function(){c.resolve(b)}});return this.el.animate(this.diff,d),c.promise()}),a.when.apply(a,j.get()).done(function(){f(),a.each(arguments,function(){var b=this.el;a.each(this.diff,function(a){b.css(a,"")})}),i.complete.call(g[0])})})},a.fn.extend({addClass:function(b){return function(c,d,e,f){return d?a.effects.animateClass.call(this,{add:c},d,e,f):b.apply(this,arguments)}}(a.fn.addClass),removeClass:function(b){return function(c,d,e,f){return arguments.length>1?a.effects.animateClass.call(this,{remove:c},d,e,f):b.apply(this,arguments)}}(a.fn.removeClass),toggleClass:function(b){return function(c,d,e,f,g){return"boolean"==typeof d||void 0===d?e?a.effects.animateClass.call(this,d?{add:c}:{remove:c},e,f,g):b.apply(this,arguments):a.effects.animateClass.call(this,{toggle:c},d,e,f)}}(a.fn.toggleClass),switchClass:function(b,c,d,e,f){return a.effects.animateClass.call(this,{add:c,remove:b},d,e,f)}})}(),function(){function c(b,c,d,e){return a.isPlainObject(b)&&(c=b,b=b.effect),b={effect:b},null==c&&(c={}),a.isFunction(c)&&(e=c,d=null,c={}),("number"==typeof c||a.fx.speeds[c])&&(e=d,d=c,c={}),a.isFunction(d)&&(e=d,d=null),c&&a.extend(b,c),d=d||c.duration,b.duration=a.fx.off?0:"number"==typeof d?d:d in a.fx.speeds?a.fx.speeds[d]:a.fx.speeds._default,b.complete=e||c.complete,b}function d(b){return!(b&&"number"!=typeof b&&!a.fx.speeds[b])||("string"==typeof b&&!a.effects.effect[b]||(!!a.isFunction(b)||"object"==typeof b&&!b.effect))}a.extend(a.effects,{version:"1.11.4",save:function(a,c){for(var d=0;d").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent",border:"none",margin:0,padding:0}),e={width:b.width(),height:b.height()},f=document.activeElement;try{f.id}catch(g){f=document.body}return b.wrap(d),(b[0]===f||a.contains(b[0],f))&&a(f).focus(),d=b.parent(),"static"===b.css("position")?(d.css({position:"relative"}),b.css({position:"relative"})):(a.extend(c,{position:b.css("position"),zIndex:b.css("z-index")}),a.each(["top","left","bottom","right"],function(a,d){c[d]=b.css(d),isNaN(parseInt(c[d],10))&&(c[d]="auto")}),b.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})),b.css(e),d.css(c).show()},removeWrapper:function(b){var c=document.activeElement;return b.parent().is(".ui-effects-wrapper")&&(b.parent().replaceWith(b),(b[0]===c||a.contains(b[0],c))&&a(c).focus()),b},setTransition:function(b,c,d,e){return e=e||{},a.each(c,function(a,c){var f=b.cssUnit(c);f[0]>0&&(e[c]=f[0]*d+f[1])}),e}}),a.fn.extend({effect:function(){function b(b){function c(){a.isFunction(f)&&f.call(e[0]),a.isFunction(b)&&b()}var e=a(this),f=d.complete,h=d.mode;(e.is(":hidden")?"hide"===h:"show"===h)?(e[h](),c()):g.call(e[0],d,c)}var d=c.apply(this,arguments),e=d.mode,f=d.queue,g=a.effects.effect[d.effect];return a.fx.off||!g?e?this[e](d.duration,d.complete):this.each(function(){d.complete&&d.complete.call(this)}):f===!1?this.each(b):this.queue(f||"fx",b)},show:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="show",this.effect.call(this,e)}}(a.fn.show),hide:function(a){return function(b){if(d(b))return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="hide",this.effect.call(this,e)}}(a.fn.hide),toggle:function(a){return function(b){if(d(b)||"boolean"==typeof b)return a.apply(this,arguments);var e=c.apply(this,arguments);return e.mode="toggle",this.effect.call(this,e)}}(a.fn.toggle),cssUnit:function(b){var c=this.css(b),d=[];return a.each(["em","px","%","pt"],function(a,b){c.indexOf(b)>0&&(d=[parseFloat(c),b])}),d}})}(),function(){var b={};a.each(["Quad","Cubic","Quart","Quint","Expo"],function(a,c){b[c]=function(b){return Math.pow(b,a+2)}}),a.extend(b,{Sine:function(a){return 1-Math.cos(a*Math.PI/2)},Circ:function(a){return 1-Math.sqrt(1-a*a)},Elastic:function(a){return 0===a||1===a?a:-Math.pow(2,8*(a-1))*Math.sin((80*(a-1)-7.5)*Math.PI/15)},Back:function(a){return a*a*(3*a-2)},Bounce:function(a){for(var b,c=4;a<((b=Math.pow(2,--c))-1)/11;);return 1/Math.pow(4,3-c)-7.5625*Math.pow((3*b-2)/22-a,2)}}),a.each(b,function(b,c){a.easing["easeIn"+b]=c,a.easing["easeOut"+b]=function(a){return 1-c(1-a)},a.easing["easeInOut"+b]=function(a){return a<.5?c(2*a)/2:1-c(a*-2+2)/2}})}(),a.effects}); !function(a){"function"==typeof define&&define.amd?define(["jquery","./effect"],a):a(jQuery)}(function(a){return a.effects.effect.drop=function(b,c){var d,e=a(this),f=["position","top","bottom","left","right","opacity","height","width"],g=a.effects.setMode(e,b.mode||"hide"),h="show"===g,i=b.direction||"left",j="up"===i||"down"===i?"top":"left",k="up"===i||"left"===i?"pos":"neg",l={opacity:h?1:0};a.effects.save(e,f),e.show(),a.effects.createWrapper(e),d=b.distance||e["top"===j?"outerHeight":"outerWidth"](!0)/2,h&&e.css("opacity",0).css(j,"pos"===k?-d:d),l[j]=(h?"pos"===k?"+=":"-=":"pos"===k?"-=":"+=")+d,e.animate(l,{queue:!1,duration:b.duration,easing:b.easing,complete:function(){"hide"===g&&e.hide(),a.effects.restore(e,f),a.effects.removeWrapper(e),c()}})}}); (function(){ var COUNT_FRAMERATE, COUNT_MS_PER_FRAME, DIGIT_FORMAT, DIGIT_HTML, DIGIT_SPEEDBOOST, DURATION, FORMAT_MARK_HTML, FORMAT_PARSER, FRAMERATE, FRAMES_PER_VALUE, MS_PER_FRAME, MutationObserver, Odometer, RIBBON_HTML, TRANSITION_END_EVENTS, TRANSITION_SUPPORT, VALUE_HTML, addClass, createFromHTML, fractionalPart, now, removeClass, requestAnimationFrame, round, transitionCheckStyles, trigger, truncate, wrapJQuery, _jQueryWrapped, _old, _ref, _ref1, __slice=[].slice; VALUE_HTML=''; RIBBON_HTML='' + VALUE_HTML + ''; DIGIT_HTML='0' + RIBBON_HTML + ''; FORMAT_MARK_HTML=''; DIGIT_FORMAT='(,ddd).dd'; FORMAT_PARSER=/^\(?([^)]*)\)?(?:(.)(d+))?$/; FRAMERATE=30; DURATION=2000; COUNT_FRAMERATE=20; FRAMES_PER_VALUE=2; DIGIT_SPEEDBOOST=.5; MS_PER_FRAME=1000 / FRAMERATE; COUNT_MS_PER_FRAME=1000 / COUNT_FRAMERATE; TRANSITION_END_EVENTS='transitionend webkitTransitionEnd oTransitionEnd otransitionend MSTransitionEnd'; transitionCheckStyles=document.createElement('div').style; TRANSITION_SUPPORT=(transitionCheckStyles.transition!=null)||(transitionCheckStyles.webkitTransition!=null)||(transitionCheckStyles.mozTransition!=null)||(transitionCheckStyles.oTransition!=null); requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame; MutationObserver=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver; createFromHTML=function(html){ var el; el=document.createElement('div'); el.innerHTML=html; return el.children[0]; }; removeClass=function(el, name){ return el.className=el.className.replace(new RegExp("(^|)" + (name.split(' ').join('|')) + "(|$)", 'gi'), ' '); }; addClass=function(el, name){ removeClass(el, name); return el.className +=" " + name; }; trigger=function(el, name){ var evt; if(document.createEvent!=null){ evt=document.createEvent('HTMLEvents'); evt.initEvent(name, true, true); return el.dispatchEvent(evt); }}; now=function(){ var _ref, _ref1; return (_ref=(_ref1=window.performance)!=null ? typeof _ref1.now==="function" ? _ref1.now():void 0:void 0)!=null ? _ref:+(new Date); }; round=function(val, precision){ if(precision==null){ precision=0; } if(!precision){ return Math.round(val); } val *=Math.pow(10, precision); val +=0.5; val=Math.floor(val); return val /=Math.pow(10, precision); }; truncate=function(val){ if(val < 0){ return Math.ceil(val); }else{ return Math.floor(val); }}; fractionalPart=function(val){ return val - round(val); }; _jQueryWrapped=false; (wrapJQuery=function(){ var property, _i, _len, _ref, _results; if(_jQueryWrapped){ return; } if(window.jQuery!=null){ _jQueryWrapped=true; _ref=['html', 'text']; _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ property=_ref[_i]; _results.push((function(property){ var old; old=window.jQuery.fn[property]; return window.jQuery.fn[property]=function(val){ var _ref1; if((val==null)||(((_ref1=this[0])!=null ? _ref1.odometer:void 0)==null)){ return old.apply(this, arguments); } return this[0].odometer.update(val); };})(property)); } return _results; }})(); setTimeout(wrapJQuery, 0); Odometer=(function(){ function Odometer(options){ var e, k, property, v, _base, _i, _len, _ref, _ref1, _ref2, _this=this; this.options=options; this.el=this.options.el; if(this.el.odometer!=null){ return this.el.odometer; } this.el.odometer=this; _ref=Odometer.options; for (k in _ref){ v=_ref[k]; if(this.options[k]==null){ this.options[k]=v; }} if((_base=this.options).duration==null){ _base.duration=DURATION; } this.MAX_VALUES=((this.options.duration / MS_PER_FRAME) / FRAMES_PER_VALUE) | 0; this.resetFormat(); this.value=this.cleanValue((_ref1=this.options.value)!=null ? _ref1:''); this.renderInside(); this.render(); try { _ref2=['innerHTML', 'innerText', 'textContent']; for (_i=0, _len=_ref2.length; _i < _len; _i++){ property=_ref2[_i]; if(this.el[property]!=null){ (function(property){ return Object.defineProperty(_this.el, property, { get: function(){ var _ref3; if(property==='innerHTML'){ return _this.inside.outerHTML; }else{ return (_ref3=_this.inside.innerText)!=null ? _ref3:_this.inside.textContent; }}, set: function(val){ return _this.update(val); }}); })(property); }} } catch (_error){ e=_error; this.watchForMutations(); } this; } Odometer.prototype.renderInside=function(){ this.inside=document.createElement('div'); this.inside.className='odometer-inside'; this.el.innerHTML=''; return this.el.appendChild(this.inside); }; Odometer.prototype.watchForMutations=function(){ var e, _this=this; if(MutationObserver==null){ return; } try { if(this.observer==null){ this.observer=new MutationObserver(function(mutations){ var newVal; newVal=_this.el.innerText; _this.renderInside(); _this.render(_this.value); return _this.update(newVal); }); } this.watchMutations=true; return this.startWatchingMutations(); } catch (_error){ e=_error; }}; Odometer.prototype.startWatchingMutations=function(){ if(this.watchMutations){ return this.observer.observe(this.el, { childList: true }); }}; Odometer.prototype.stopWatchingMutations=function(){ var _ref; return (_ref=this.observer)!=null ? _ref.disconnect():void 0; }; Odometer.prototype.cleanValue=function(val){ var _ref; if(typeof val==='string'){ val=val.replace((_ref=this.format.radix)!=null ? _ref:'.', ''); val=val.replace(/[.,]/g, ''); val=val.replace('', '.'); val=parseFloat(val, 10)||0; } return round(val, this.format.precision); }; Odometer.prototype.bindTransitionEnd=function(){ var event, renderEnqueued, _i, _len, _ref, _results, _this=this; if(this.transitionEndBound){ return; } this.transitionEndBound=true; renderEnqueued=false; _ref=TRANSITION_END_EVENTS.split(' '); _results=[]; for (_i=0, _len=_ref.length; _i < _len; _i++){ event=_ref[_i]; _results.push(this.el.addEventListener(event, function(){ if(renderEnqueued){ return true; } renderEnqueued=true; setTimeout(function(){ _this.render(); renderEnqueued=false; return trigger(_this.el, 'odometerdone'); }, 0); return true; }, false)); } return _results; }; Odometer.prototype.resetFormat=function(){ var format, fractional, parsed, precision, radix, repeating, _ref, _ref1; format=(_ref=this.options.format)!=null ? _ref:DIGIT_FORMAT; format||(format='d'); parsed=FORMAT_PARSER.exec(format); if(!parsed){ throw new Error("Odometer: Unparsable digit format"); } _ref1=parsed.slice(1, 4), repeating=_ref1[0], radix=_ref1[1], fractional=_ref1[2]; precision=(fractional!=null ? fractional.length:void 0)||0; return this.format={ repeating: repeating, radix: radix, precision: precision };}; Odometer.prototype.render=function(value){ var classes, cls, digit, match, newClasses, theme, wholePart, _i, _j, _len, _len1, _ref; if(value==null){ value=this.value; } this.stopWatchingMutations(); this.resetFormat(); this.inside.innerHTML=''; theme=this.options.theme; classes=this.el.className.split(' '); newClasses=[]; for (_i=0, _len=classes.length; _i < _len; _i++){ cls=classes[_i]; if(!cls.length){ continue; } if(match=/^odometer-theme-(.+)$/.exec(cls)){ theme=match[1]; continue; } if(/^odometer(-|$)/.test(cls)){ continue; } newClasses.push(cls); } newClasses.push('odometer'); if(!TRANSITION_SUPPORT){ newClasses.push('odometer-no-transitions'); } if(theme){ newClasses.push("odometer-theme-" + theme); }else{ newClasses.push("odometer-auto-theme"); } this.el.className=newClasses.join(' '); this.ribbons={}; this.digits=[]; wholePart = !this.format.precision||!fractionalPart(value)||false; _ref=value.toString().split('').reverse(); for (_j=0, _len1=_ref.length; _j < _len1; _j++){ digit=_ref[_j]; if(digit==='.'){ wholePart=true; } this.addDigit(digit, wholePart); } return this.startWatchingMutations(); }; Odometer.prototype.update=function(newValue){ var diff, _this=this; newValue=this.cleanValue(newValue); if(!(diff=newValue - this.value)){ return; } removeClass(this.el, 'odometer-animating-up odometer-animating-down odometer-animating'); if(diff > 0){ addClass(this.el, 'odometer-animating-up'); }else{ addClass(this.el, 'odometer-animating-down'); } this.stopWatchingMutations(); this.animate(newValue); this.startWatchingMutations(); setTimeout(function(){ _this.el.offsetHeight; return addClass(_this.el, 'odometer-animating'); }, 0); return this.value=newValue; }; Odometer.prototype.renderDigit=function(){ return createFromHTML(DIGIT_HTML); }; Odometer.prototype.insertDigit=function(digit, before){ if(before!=null){ return this.inside.insertBefore(digit, before); }else if(!this.inside.children.length){ return this.inside.appendChild(digit); }else{ return this.inside.insertBefore(digit, this.inside.children[0]); }}; Odometer.prototype.addSpacer=function(chr, before, extraClasses){ var spacer; spacer=createFromHTML(FORMAT_MARK_HTML); spacer.innerHTML=chr; if(extraClasses){ addClass(spacer, extraClasses); } return this.insertDigit(spacer, before); }; Odometer.prototype.addDigit=function(value, repeating){ var chr, digit, resetted, _ref; if(repeating==null){ repeating=true; } if(value==='-'){ return this.addSpacer(value, null, 'odometer-negation-mark'); } if(value==='.'){ return this.addSpacer((_ref=this.format.radix)!=null ? _ref:'.', null, 'odometer-radix-mark'); } if(repeating){ resetted=false; while (true){ if(!this.format.repeating.length){ if(resetted){ throw new Error("Bad odometer format without digits"); } this.resetFormat(); resetted=true; } chr=this.format.repeating[this.format.repeating.length - 1]; this.format.repeating=this.format.repeating.substring(0, this.format.repeating.length - 1); if(chr==='d'){ break; } this.addSpacer(chr); }} digit=this.renderDigit(); digit.querySelector('.odometer-value').innerHTML=value; this.digits.push(digit); return this.insertDigit(digit); }; Odometer.prototype.animate=function(newValue){ if(!TRANSITION_SUPPORT||this.options.animation==='count'){ return this.animateCount(newValue); }else{ return this.animateSlide(newValue); }}; Odometer.prototype.animateCount=function(newValue){ var cur, diff, last, start, tick, _this=this; if(!(diff=+newValue - this.value)){ return; } start=last=now(); cur=this.value; return (tick=function(){ var delta, dist, fraction; if((now() - start) > _this.options.duration){ _this.value=newValue; _this.render(); trigger(_this.el, 'odometerdone'); return; } delta=now() - last; if(delta > COUNT_MS_PER_FRAME){ last=now(); fraction=delta / _this.options.duration; dist=diff * fraction; cur +=dist; _this.render(Math.round(cur)); } if(requestAnimationFrame!=null){ return requestAnimationFrame(tick); }else{ return setTimeout(tick, COUNT_MS_PER_FRAME); }})(); }; Odometer.prototype.getDigitCount=function(){ var i, max, value, values, _i, _len; values=1 <=arguments.length ? __slice.call(arguments, 0):[]; for (i=_i=0, _len=values.length; _i < _len; i=++_i){ value=values[i]; values[i]=Math.abs(value); } max=Math.max.apply(Math, values); return Math.ceil(Math.log(max + 1) / Math.log(10)); }; Odometer.prototype.getFractionalDigitCount=function(){ var i, parser, parts, value, values, _i, _len; values=1 <=arguments.length ? __slice.call(arguments, 0):[]; parser=/^\-?\d*\.(\d*?)0*$/; for (i=_i=0, _len=values.length; _i < _len; i=++_i){ value=values[i]; values[i]=value.toString(); parts=parser.exec(values[i]); if(parts==null){ values[i]=0; }else{ values[i]=parts[1].length; }} return Math.max.apply(Math, values); }; Odometer.prototype.resetDigits=function(){ this.digits=[]; this.ribbons=[]; this.inside.innerHTML=''; return this.resetFormat(); }; Odometer.prototype.animateSlide=function(newValue){ var boosted, cur, diff, digitCount, digits, dist, end, fractionalCount, frame, frames, i, incr, j, mark, numEl, oldValue, start, _base, _i, _j, _k, _l, _len, _len1, _len2, _m, _ref, _results; oldValue=this.value; fractionalCount=this.getFractionalDigitCount(oldValue, newValue); if(fractionalCount){ newValue=newValue * Math.pow(10, fractionalCount); oldValue=oldValue * Math.pow(10, fractionalCount); } if(!(diff=newValue - oldValue)){ return; } this.bindTransitionEnd(); digitCount=this.getDigitCount(oldValue, newValue); digits=[]; boosted=0; for (i=_i=0; 0 <=digitCount ? _i < digitCount:_i > digitCount; i=0 <=digitCount ? ++_i:--_i){ start=truncate(oldValue / Math.pow(10, digitCount - i - 1)); end=truncate(newValue / Math.pow(10, digitCount - i - 1)); dist=end - start; if(Math.abs(dist) > this.MAX_VALUES){ frames=[]; incr=dist / (this.MAX_VALUES + this.MAX_VALUES * boosted * DIGIT_SPEEDBOOST); cur=start; while ((dist > 0&&cur < end)||(dist < 0&&cur > end)){ frames.push(Math.round(cur)); cur +=incr; } if(frames[frames.length - 1]!==end){ frames.push(end); } boosted++; }else{ frames=(function(){ _results=[]; for (var _j=start; start <=end ? _j <=end:_j >=end; start <=end ? _j++:_j--){ _results.push(_j); } return _results; }).apply(this); } for (i=_k=0, _len=frames.length; _k < _len; i=++_k){ frame=frames[i]; frames[i]=Math.abs(frame % 10); } digits.push(frames); } this.resetDigits(); _ref=digits.reverse(); for (i=_l=0, _len1=_ref.length; _l < _len1; i=++_l){ frames=_ref[i]; if(!this.digits[i]){ this.addDigit(' ', i >=fractionalCount); } if((_base=this.ribbons)[i]==null){ _base[i]=this.digits[i].querySelector('.odometer-ribbon-inner'); } this.ribbons[i].innerHTML=''; if(diff < 0){ frames=frames.reverse(); } for (j=_m=0, _len2=frames.length; _m < _len2; j=++_m){ frame=frames[j]; numEl=document.createElement('div'); numEl.className='odometer-value'; numEl.innerHTML=frame; this.ribbons[i].appendChild(numEl); if(j===frames.length - 1){ addClass(numEl, 'odometer-last-value'); } if(j===0){ addClass(numEl, 'odometer-first-value'); }} } if(start < 0){ this.addDigit('-'); } mark=this.inside.querySelector('.odometer-radix-mark'); if(mark!=null){ mark.parent.removeChild(mark); } if(fractionalCount){ return this.addSpacer(this.format.radix, this.digits[fractionalCount - 1], 'odometer-radix-mark'); }}; return Odometer; })(); Odometer.options=(_ref=window.odometerOptions)!=null ? _ref:{}; setTimeout(function(){ var k, v, _base, _ref1, _results; if(window.odometerOptions){ _ref1=window.odometerOptions; _results=[]; for (k in _ref1){ v=_ref1[k]; _results.push((_base=Odometer.options)[k]!=null ? (_base=Odometer.options)[k]:_base[k]=v); } return _results; }}, 0); Odometer.init=function(){ var el, elements, _i, _len, _ref1, _results; if(document.querySelectorAll==null){ return; } elements=document.querySelectorAll(Odometer.options.selector||'.odometer'); _results=[]; for (_i=0, _len=elements.length; _i < _len; _i++){ el=elements[_i]; _results.push(el.odometer=new Odometer({ el: el, value: (_ref1=el.innerText)!=null ? _ref1:el.textContent })); } return _results; }; if((((_ref1=document.documentElement)!=null ? _ref1.doScroll:void 0)!=null)&&(document.createEventObject!=null)){ _old=document.onreadystatechange; document.onreadystatechange=function(){ if(document.readyState==='complete'&&Odometer.options.auto!==false){ Odometer.init(); } return _old!=null ? _old.apply(this, arguments):void 0; };}else{ document.addEventListener('DOMContentLoaded', function(){ if(Odometer.options.auto!==false){ return Odometer.init(); }}, false); } if(typeof define==='function'&&define.amd){ define(['jquery'], function(){ return Odometer; }); }else if(typeof exports===!'undefined'){ module.exports=Odometer; }else{ window.Odometer=Odometer; }}).call(this); (function ($){ function getScrollY(elem){ return window.pageYOffset||document.documentElement.scrollTop; } function Sticky(el, options){ var self=this; this.el=el; this.$el=$(el); this.options={ }; $.extend(this.options, options); self.init(); } $.fn.scSticky=function(options){ $(this).each(function(){ return new Sticky(this, options); }); } Sticky.prototype={ init: function(){ var self=this; this.$wrapper=false; this.$parent=this.getParent(); $(window).scroll(function(){ if(self.useSticky()){ self.wrap(); self.scroll(); }else{ self.unwrap(); }}); $(window).resize(function(){ if(self.useSticky()){ self.wrap(); self.scroll(); }else{ self.unwrap(); }}); }, wrap: function(){ if(!this.$wrapper) this.$wrapper=this.$el.wrap('
    ').parent(); this.$wrapper.attr('class', this.$el.attr('class')).addClass('gem-sticky-block').css({ padding: 0, height: this.$el.outerHeight() }); this.$el.css({ width: this.$wrapper.outerWidth(), margin: 0 }); }, getParent: function(){ return this.$el.parent(); }, useSticky: function(){ var is_sidebar=true; if(this.$el.hasClass('sidebar')){ if(this.$wrapper){ if(this.$wrapper.outerHeight() > this.$wrapper.siblings('.panel-center:first').outerHeight()) is_sidebar=false; }else{ if(this.$el.outerHeight() > this.$el.siblings('.panel-center:first').outerHeight()) is_sidebar=false; }} return $(window).width() > 1000&&is_sidebar; }, unwrap: function(){ if(this.$el.parent().is('.gem-sticky-block')){ this.$el.unwrap(); this.$wrapper=false; } this.$el.css({ width: "", top: "", bottom: "", margin: "" }); }, scroll: function(){ var top_offset=parseInt($('html').css('margin-top')); var $header=$('#site-header'); if($header.hasClass('fixed')){ top_offset +=$header.outerHeight(); } var scroll=getScrollY(); var offset=this.$wrapper.offset(); var parent_offset=this.$parent.offset(); var parent_bottom=parent_offset.top + this.$parent.outerHeight() - scroll; var bottom=$(window).height() - parent_bottom; if((top_offset + this.$el.outerHeight()) >=parent_bottom){ this.$el.addClass('sticky-fixed').css({ top: "", bottom: bottom, left: offset.left }); return; } if((scroll + top_offset) > offset.top){ this.$el.addClass('sticky-fixed').css({ top: top_offset, bottom: "", left: offset.left }); }else{ this.$el.removeClass('sticky-fixed').css({ top: "", bottom: "", left: "" }); }} };}(jQuery)); (function($){ $.fn.thegemPreloader=function(callback){ $(this).each(function(){ var $el=$(this), hasSrc=['img', 'iframe'].indexOf($el[0].nodeName.toLowerCase())!=-1; $el.data('thegemPreloader', $('img, iframe', $el).add($el.filter('img, iframe')).length); if($el.data('thegemPreloader')==0||(hasSrc&&!$el.attr('src'))){ $el.prev('.preloader').remove(); callback(); $el.trigger('thegem-preloader-loaded'); return; } if(!$el.prev('.preloader').length){ $('
    ').insertBefore($el); } $('img, iframe', $el).add($el.filter('img, iframe')).each(function(){ function preloaderItemLoaded(){ $el.data('thegemPreloader', $el.data('thegemPreloader')-1); if($el.data('thegemPreloader')==0){ $el.prev('.preloader').remove(); callback(); $el.trigger('thegem-preloader-loaded'); }} if(!$(this).attr('src')){ preloaderItemLoaded(); return; } var $obj=$(''); if($(this).prop('tagName').toLowerCase()=='iframe'){ $obj=$(this); } $obj.attr('src', $(this).attr('src')); $obj.on('load error', preloaderItemLoaded); }); }); }})(jQuery); (function($){ var oWidth=$.fn.width; $.fn.width=function(argument){ if(arguments.length==0&&this.length==1&&this[0]===window){ if(window.gemOptions.innerWidth!=-1){ return window.gemOptions.innerWidth; } var width=oWidth.apply(this,arguments); window.updateGemInnerSize(width); return width; } return oWidth.apply(this,arguments); }; var $page=$('#page'); $(window).load(function(){ var $preloader=$('#page-preloader'); if($preloader.length&&!$preloader.hasClass('preloader-loaded')){ $preloader.addClass('preloader-loaded'); }}); $('#site-header.animated-header').headerAnimation(); $.fn.updateTabs=function(){ jQuery('.gem-tabs', this).each(function(index){ var $tabs=$(this); $tabs.thegemPreloader(function(){ $tabs.easyResponsiveTabs({ type: 'default', width: 'auto', fit: false, activate: function(currentTab, e){ var $tab=$(currentTab.target); var controls=$tab.attr('aria-controls'); $tab.closest('.ui-tabs').find('.gem_tab[aria-labelledby="' + controls + '"]').trigger('tab-update'); }}); }); }); jQuery('.gem-tour', this).each(function(index){ var $tabs=$(this); $tabs.thegemPreloader(function(){ $tabs.easyResponsiveTabs({ type: 'vertical', width: 'auto', fit: false, activate: function(currentTab, e){ var $tab=$(currentTab.target); var controls=$tab.attr('aria-controls'); $tab.closest('.ui-tabs').find('.gem_tab[aria-labelledby="' + controls + '"]').trigger('tab-update'); }}); }); }); }; function fullwidth_block_after_update($item){ $item.trigger('updateTestimonialsCarousel'); $item.trigger('updateClientsCarousel'); $item.trigger('fullwidthUpdate'); } function fullwidth_block_update($item, pageOffset, pagePaddingLeft, pageWidth,skipTrigger){ var $prevElement=$item.prev(), extra_padding=0; if($prevElement.length==0||$prevElement.hasClass('fullwidth-block')){ $prevElement=$item.parent(); extra_padding=parseInt($prevElement.css('padding-left')); } var offsetKey=window.gemSettings.isRTL ? 'right':'left'; var cssData={ width: pageWidth }; cssData[offsetKey]=pageOffset.left - ($prevElement.length ? $prevElement.offset().left:0) + parseInt(pagePaddingLeft) - extra_padding; $item.css(cssData); if(!skipTrigger){ fullwidth_block_after_update($item); }} var inlineFullwidths=[], notInlineFullwidths=[]; $('.fullwidth-block').each(function(){ var $item=$(this), $parents=$item.parents('.vc_row'), fullw={ isInline: false }; $parents.each(function(){ if(this.hasAttribute('data-vc-full-width')){ fullw.isInline=true; return false; }}); if(fullw.isInline){ inlineFullwidths.push(this); }else{ notInlineFullwidths.push(this); }}); function update_fullwidths(inline, init){ var $needUpdate=[]; (inline ? inlineFullwidths:notInlineFullwidths).forEach(function(item){ $needUpdate.push(item); }); if($needUpdate.length > 0){ var pageOffset=$page.offset(), pagePaddingLeft=$page.css('padding-left'), pageWidth=$page.width(); $needUpdate.forEach(function(item){ fullwidth_block_update($(item), pageOffset, pagePaddingLeft, pageWidth); }); }} if(!window.disableGemSlideshowPreloaderHandle){ jQuery('.gem-slideshow').each(function(){ var $slideshow=$(this); $slideshow.thegemPreloader(function(){}); }); } $(function(){ $('#gem-icons-loading-hide').remove(); $('#thegem-preloader-inline-css').remove(); jQuery('iframe').not('.gem-video-background iframe, .wcppec-checkout-buttons iframe').each(function(){ $(this).thegemPreloader(function(){}); }); jQuery('.gem-video-background').each(function(){ var $videoBG=$(this); var $videoContainer=$('.gem-video-background-inner', this); var ratio=$videoBG.data('aspect-ratio') ? $videoBG.data('aspect-ratio'):'16:9'; var regexp=/(\d+):(\d+)/; var $fullwidth=$videoBG.closest('.fullwidth-block'); ratio=regexp.exec(ratio); if(!ratio||parseInt(ratio[1])==0||parseInt(ratio[2])==0){ ratio=16/9; }else{ ratio=parseInt(ratio[1])/parseInt(ratio[2]); } function gemVideoUpdate(){ $videoContainer.removeAttr('style'); if($videoContainer.width() / $videoContainer.height() > ratio){ $videoContainer.css({ height: ($videoContainer.width() / ratio) + 'px', marginTop: -($videoContainer.width() / ratio - $videoBG.height()) / 2 + 'px' }); }else{ $videoContainer.css({ width: ($videoContainer.height() * ratio) + 'px', marginLeft: -($videoContainer.height() * ratio - $videoBG.width()) / 2 + 'px' }); }} if($videoBG.closest('.page-title-block').length > 0){ gemVideoUpdate(); } if($fullwidth.length){ $fullwidth.on('fullwidthUpdate', gemVideoUpdate); }else{ $(window).resize(gemVideoUpdate); }}); update_fullwidths(false, true); if(!window.gemSettings.parallaxDisabled){ $('.fullwidth-block').each(function(){ var $item=$(this), mobile_enabled=$item.data('mobile-parallax-enable')||'0'; if(!window.gemSettings.isTouch||mobile_enabled=='1'){ if($item.hasClass('fullwidth-block-parallax-vertical')){ $('.fullwidth-block-background', $item).parallaxVertical('50%'); }else if($item.hasClass('fullwidth-block-parallax-horizontal')){ $('.fullwidth-block-background', $item).parallaxHorizontal(); }}else{ $('.fullwidth-block-background', $item).css({ backgroundAttachment: 'scroll' }); }}); } $(window).resize(function(){ update_fullwidths(false, false); }); jQuery('select.gem-combobox, .gem-combobox select, .widget_archive select, .widget_product_categories select, .widget_categories select').each(function(index){ $(this).combobox(); }); jQuery('.widget_categories select').each(function(){ this.onchange=null; $(this).on('change', function(){ if($(this).val()!=-1){ $(this).closest('form').submit(); }}); }); jQuery('input.gem-checkbox, .gem-checkbox input').checkbox(); if(typeof($.fn.ReStable)=="function"){ jQuery('.gem-table-responsive').each(function(index){ $('> table', this).ReStable({ maxWidth: 768, rowHeaders:$(this).hasClass('row-headers') }); }); } jQuery('.fancybox').each(function(){ $(this).fancybox(); }); function init_odometer(el){ if(jQuery('.gem-counter-odometer', el).size()==0) return; var odometer=jQuery('.gem-counter-odometer', el).get(0); var format=jQuery(el).closest('.gem-counter-box').data('number-format'); format=format ? format:'(ddd).ddd'; var od=new Odometer({ el: odometer, value: $(odometer).text(), format: format }); od.update($(odometer).data('to')); } window['thegem_init_odometer']=init_odometer; jQuery('.gem-counter').each(function(index){ if(jQuery(this).closest('.gem-counter-box').size() > 0&&jQuery(this).closest('.gem-counter-box').hasClass('lazy-loading')&&!window.gemSettings.lasyDisabled){ jQuery(this).addClass('lazy-loading-item').data('ll-effect', 'action').data('item-delay', '0').data('ll-action-func', 'thegem_init_odometer'); jQuery('.gem-icon', this).addClass('lazy-loading-item').data('ll-effect', 'fading').data('item-delay', '0'); jQuery('.gem-counter-text', this).addClass('lazy-loading-item').data('ll-effect', 'fading').data('item-delay', '0'); return; } init_odometer(this); }); jQuery('.panel-sidebar-sticky > .sidebar').scSticky(); jQuery('iframe + .map-locker').each(function(){ var $locker=$(this); $locker.click(function(e){ e.preventDefault(); if($locker.hasClass('disabled')){ $locker.prev('iframe').css({ 'pointer-events':'none' }); }else{ $locker.prev('iframe').css({ 'pointer-events':'auto' }); } $locker.toggleClass('disabled'); }); }); $('.primary-navigation a.mega-no-link').closest('li').removeClass('menu-item-active current-menu-item'); function getElementPagePosition(element){ var width=element.offsetWidth, height=element.offsetHeight, left=0, top=0; while (element&&element.id!='page'){ left +=element.offsetLeft; top +=element.offsetTop; element=element.offsetParent; } return {"left": left, "top": top, "width": width, "height": height};} var $anhorsElements=[]; $('.primary-navigation a, .gem-button, .footer-navigation a, .scroll-top-button, .scroll-to-anchor, .scroll-to-anchor a, .top-area-menu a').each(function(e){ var $anhor=$(this); var link=$anhor.attr('href'); if(!link) return ; link=link.split('#'); if($('#'+link[1]).hasClass('vc_tta-panel')) return ; if($('#'+link[1]).length){ $anhor.closest('li').removeClass('menu-item-active current-menu-item'); $anhor.closest('li').parents('li').removeClass('menu-item-current'); $(document).on('update-page-scroller', function(e, elem){ var $elem=$(elem); if(!$anhor.closest('li.menu-item').length) return ; if($elem.is($('#'+link[1]))||$elem.find($('#'+link[1])).length){ $anhor.closest('li').addClass('menu-item-active'); $anhor.closest('li').parents('li').addClass('menu-item-current'); }else{ $anhor.closest('li').removeClass('menu-item-active'); $anhor.closest('li').parents('li.menu-item-current').each(function(){ if(!$('.menu-item-active', this).length){ $(this).removeClass('menu-item-current'); }}); }}); $anhor.click(function(e){ e.preventDefault(); history.replaceState('data to be passed', $anhor.text(), $anhor.attr('href')); var correction=0; var isPerspectiveMenu=$('#thegem-perspective.modalview').length; if($('#site-header.animated-header').length){ var shrink=$('#site-header').hasClass('shrink'); $('#site-header').addClass('scroll-counting'); $('#site-header').addClass('fixed shrink'); correction=$('#site-header').outerHeight(); if(!isPerspectiveMenu){ var siteHeaderTop=$('#site-header').position().top; if($('#site-header').hasClass('shrink')){ siteHeaderTop=0; } correction +=siteHeaderTop; } if(!shrink){ $('#site-header').removeClass('fixed shrink'); } setTimeout(function(){ $('#site-header').removeClass('scroll-counting'); }, 50); } var target_top=getElementPagePosition($('#'+link[1])[0]).top - correction + 1; if(getElementPagePosition($('#'+link[1])[0]).top==0){ target_top=0; } if($('body').hasClass('page-scroller')&&$('.page-scroller-nav-pane').is(':visible')){ var $block=$('#'+link[1]+'.scroller-block').add($('#'+link[1]).closest('.scroller-block')).eq(0); if($block.length){ $('.page-scroller-nav-pane .page-scroller-nav-item').eq($('.scroller-block').index($block)).trigger('click'); }}else{ if(isPerspectiveMenu){ $('#page').stop(true, true).animate({scrollTop:target_top}, 1500, 'easeInOutQuint', function(){ if($anhor.closest('#thegem-perspective').length&&$anhor.closest('#thegem-perspective').hasClass('modalview')){ $('.perspective-menu-close').trigger('click'); }}); }else{ $('html, body').stop(true, true).animate({scrollTop:target_top}, 1500, 'easeInOutQuint'); } if($anhor.closest('#primary-menu').length&&$anhor.closest('#primary-menu').hasClass('dl-menuopen')){ $('.menu-toggle').trigger('click'); } if($anhor.closest('.mobile-menu-slide-wrapper').length&&$anhor.closest('.mobile-menu-slide-wrapper').hasClass('opened')){ $('.mobile-menu-slide-close').trigger('click'); } if($anhor.closest('.overlay-menu-wrapper').length&&$anhor.closest('.overlay-menu-wrapper').hasClass('active')){ if($anhor.closest('#primary-navigation').length&&$anhor.closest('#primary-navigation').hasClass('responsive')){ $('.menu-toggle').trigger('click'); }else{ $('.overlay-toggle').trigger('click'); }} if($anhor.closest('#primary-navigation').length&&$anhor.closest('#primary-navigation').hasClass('hamburger-active')){ $('.hamburger-toggle').trigger('click'); }} }); $anhorsElements.push($anhor[0]); }}); if($anhorsElements.length){ function anchorLinksScroll(){ var isPerspectiveMenu=$('#thegem-perspective.modalview').length; var correction=0; if(!$page.hasClass('vertical-header')){ correction=$('#site-header').outerHeight(); if(!isPerspectiveMenu){ var siteHeaderTop=$('#site-header').length ? $('#site-header').position().top:0; if($('#site-header').hasClass('shrink')){ siteHeaderTop=0; } correction +=siteHeaderTop; }} for (var i=0; i < $anhorsElements.length; i++){ var $anhor=$($anhorsElements[i]); var link=$anhor.attr('href'); if(!link) continue ; link=link.split('#'); var scrollY=getScrollY() + $page.scrollTop(); if(!$anhor.closest('li.menu-item').length) continue ; var target_top=getElementPagePosition($('#'+link[1])[0]).top - correction; if(scrollY >=target_top&&scrollY <=target_top + $('#'+link[1]).outerHeight()){ $anhor.closest('li').addClass('menu-item-active'); $anhor.closest('li').parents('li').addClass('menu-item-current'); }else{ $anhor.closest('li').removeClass('menu-item-active'); $anhor.closest('li').parents('li.menu-item-current').each(function(){ if(!$('.menu-item-active', this).length){ $(this).removeClass('menu-item-current'); }}); }} } $(window).scroll(anchorLinksScroll); if($('#thegem-perspective').length){ $page.scroll(anchorLinksScroll); } $(window).load(function(){ for (var i=0; i < $anhorsElements.length; i++){ var anhor=$anhorsElements[i]; if(anhor.href!=undefined&&anhor.href&&window.location.href==anhor.href){ anhor.click(); break; }} }); } $('body').on('click', '.post-footer-sharing .gem-button', function(e){ e.preventDefault(); $(this).closest('.post-footer-sharing').find('.sharing-popup').toggleClass('active'); }); var scrollTimer, body=document.body; $(window).scroll(function(){ clearTimeout(scrollTimer); if(!body.classList.contains('disable-hover')){ } scrollTimer=setTimeout(function(){ }, 300); if(getScrollY() > 0){ $('.scroll-top-button').addClass('visible'); }else{ $('.scroll-top-button').removeClass('visible'); }}).scroll(); function getScrollY(elem){ return window.pageYOffset||document.documentElement.scrollTop; } $('a.hidden-email').each(function(){ $(this).attr('href', 'mailto:'+$(this).data('name')+'@'+$(this).data('domain')); }); $('#colophon .footer-widget-area').thegemPreloader(function(){ $('#colophon .footer-widget-area').isotope({ itemSelector: '.widget', layoutMode: 'masonry' }); }); $('body').updateTabs(); }); $(document).on('show.vc.accordion', '[data-vc-accordion]', function(){ var $target=$(this).data('vc.accordion').getContainer(); var correction=0; if(!$target.find('.vc_tta-tabs').length||!$(this).is(':visible')||$target.data('vc-tta-autoplay')) return ; if($('#site-header.animated-header').length&&$('#site-header').hasClass('fixed')){ var shrink=$('#site-header').hasClass('shrink'); $('#site-header').addClass('scroll-counting'); $('#site-header').addClass('fixed shrink'); correction=$('#site-header').outerHeight() + $('#site-header').position().top; if(!shrink){ $('#site-header').removeClass('fixed shrink'); } $('#site-header').removeClass('scroll-counting'); } var target_top=$target.offset().top - correction - 100 + 1; $('html, body').stop(true, true).animate({scrollTop:target_top}, 500, 'easeInOutQuint'); }); var vc_update_fullwidth_init=true; $(document).on('vc-full-width-row', function(e){ if(window.gemOptions.clientWidth - $page.width() > 25||window.gemSettings.isRTL){ for (var i=1; i < arguments.length; i++){ var $el=$(arguments[i]); $el.addClass("vc_hidden"); var $el_full=$el.next(".vc_row-full-width"); $el_full.length||($el_full=$el.parent().next(".vc_row-full-width")); var el_margin_left=parseInt($el.css("margin-left"), 10), el_margin_right=parseInt($el.css("margin-right"), 10), offset=0 - $el_full.offset().left - el_margin_left + $('#page').offset().left + parseInt($('#page').css('padding-left')), width=$('#page').width(); var offsetKey=window.gemSettings.isRTL ? 'right':'left'; var cssData={ position: "relative", left: offset, "box-sizing": "border-box", width: $("#page").width() }; cssData[offsetKey]=offset; if($el.css(cssData), !$el.data("vcStretchContent")){ var padding=-1 * offset; 0 > padding&&(padding=0); var paddingRight=width - padding - $el_full.width() + el_margin_left + el_margin_right; 0 > paddingRight&&(paddingRight=0), $el.css({ "padding-left": padding + "px", "padding-right": paddingRight + "px" }) } $el.attr("data-vc-full-width-init", "true"), $el.removeClass("vc_hidden"); $el.trigger('VCRowFullwidthUpdate'); }} update_fullwidths(true, vc_update_fullwidth_init); vc_update_fullwidth_init=false; }); if(!window.gemSettings.lasyDisabled&&$.support.opacity){ $('.wpb_text_column.wpb_animate_when_almost_visible.wpb_fade').each(function(){ $(this).wrap('
    ').addClass('lazy-loading-item').data('ll-effect', 'fading'); }); $('.gem-list.lazy-loading').each(function(){ $(this).data('ll-item-delay', '200'); $('li', this).addClass('lazy-loading-item').data('ll-effect', 'slide-right'); $('li', this).each(function(index){ $(this).attr("style", "transition-delay: " + (index + 1) * 0.2 + "s;"); }); }); $.lazyLoading(); } $('body').on('click', '.gem-button[href^="#give-form-"]', function(e){ var form_id=$(this).attr('href').replace('#give-form-', ''); form_id=parseInt(form_id); if(!isNaN(form_id)){ $('#give-form-' + form_id + ' .give-btn-modal').click(); } e.preventDefault(); return false; }); })(jQuery); (function($){ $('.menu-item-search a').on('click', function(e){ e.preventDefault(); $('.menu-item-search').toggleClass('active'); }); })(jQuery); (function(d){function e(a){var b=a||window.event,c=[].slice.call(arguments,1),f=0,e=0,g=0,a=d.event.fix(b);a.type="mousewheel";b.wheelDelta&&(f=b.wheelDelta/120);b.detail&&(f=-b.detail/3);g=f;b.axis!==void 0&&b.axis===b.HORIZONTAL_AXIS&&(g=0,e=-1*f);b.wheelDeltaY!==void 0&&(g=b.wheelDeltaY/120);b.wheelDeltaX!==void 0&&(e=-1*b.wheelDeltaX/120);c.unshift(a,f,e,g);return(d.event.dispatch||d.event.handle).apply(this,c)}var c=["DOMMouseScroll","mousewheel"];if(d.event.fixHooks)for(var h=c.length;h;)d.event.fixHooks[c[--h]]= d.event.mouseHooks;d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=c.length;a;)this.addEventListener(c[--a],e,false);else this.onmousewheel=e},teardown:function(){if(this.removeEventListener)for(var a=c.length;a;)this.removeEventListener(c[--a],e,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery); !function(t,e,n,o){"use strict";function i(t){var e=t.currentTarget,o=t.data?t.data.options:{},i=t.data?t.data.items:[],a=n(e).attr("data-fancybox")||"",s=0;t.preventDefault(),t.stopPropagation(),a?(i=i.length?i.filter('[data-fancybox="'+a+'"]'):n('[data-fancybox="'+a+'"]'),s=i.index(e),s<0&&(s=0)):i=[e],n.fancybox.open(i,o,s)}if(n){if(n.fn.fancybox)return void n.error("fancyBox already initialized");var a={loop:!1,margin:[44,0],gutter:50,keyboard:!0,arrows:!0,infobar:!1,toolbar:!0,buttons:["slideShow","fullScreen","thumbs","close"],idleTime:4,smallBtn:"auto",protect:!1,modal:!1,image:{preload:"auto"},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'',preload:!0,css:{},attr:{scrolling:"auto"}},animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'',spinnerTpl:'
    ',errorTpl:'

    {{ERROR}}

    ',btnTpl:{slideShow:'',fullScreen:'',thumbs:'',close:'',smallBtn:''},parentEl:"body",autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:4e3},thumbs:{autoStart:!1,hideOnClose:!0},onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded.
    Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails"},de:{CLOSE:"Schliessen",NEXT:"Weiter",PREV:"Zurück",ERROR:"Die angeforderten Daten konnten nicht geladen werden.
    Bitte versuchen Sie es später nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},u=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),d=function(){var t,n=e.createElement("fakeelement"),i={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in i)if(n.style[t]!==o)return i[t]}(),f=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,o,i){var s=this;s.opts=n.extend(!0,{index:i},a,o||{}),o&&n.isArray(o.buttons)&&(s.opts.buttons=o.buttons),s.id=s.opts.id||++c,s.group=[],s.currIndex=parseInt(s.opts.index,10)||0,s.prevIndex=null,s.prevPos=null,s.currPos=0,s.firstRun=null,s.createGroup(t),s.group.length&&(s.$lastFocus=n(e.activeElement).blur(),s.slides={},s.init(t))};n.extend(h.prototype,{init:function(){var t,e,o,i=this,a=i.group[i.currIndex].opts;i.scrollTop=r.scrollTop(),i.scrollLeft=r.scrollLeft(),n.fancybox.getInstance()||n.fancybox.isMobile||"hidden"===n("body").css("overflow")||(t=n("body").width(),n("html").addClass("fancybox-enabled"),t=n("body").width()-t,t>1&&n("head").append('")),o="",n.each(a.buttons,function(t,e){o+=a.btnTpl[e]||""}),e=n(i.translate(i,a.baseTpl.replace("{{BUTTONS}}",o))).addClass("fancybox-is-hidden").attr("id","fancybox-container-"+i.id).addClass(a.baseClass).data("FancyBox",i).prependTo(a.parentEl),i.$refs={container:e},["bg","inner","infobar","toolbar","stage","caption"].forEach(function(t){i.$refs[t]=e.find(".fancybox-"+t)}),(!a.arrows||i.group.length<2)&&e.find(".fancybox-navigation").remove(),a.infobar||i.$refs.infobar.remove(),a.toolbar||i.$refs.toolbar.remove(),i.trigger("onInit"),i.activate(),i.jumpTo(i.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang];return e.replace(/\{\{(\w+)\}\}/g,function(t,e){var i=n[e];return i===o?t:i})},createGroup:function(t){var e=this,i=n.makeArray(t);n.each(i,function(t,i){var a,s,r,c,l={},u={},d=[];n.isPlainObject(i)?(l=i,u=i.opts||i):"object"===n.type(i)&&n(i).length?(a=n(i),d=a.data(),u="options"in d?d.options:{},u="object"===n.type(u)?u:{},l.src="src"in d?d.src:u.src||a.attr("href"),["width","height","thumb","type","filter"].forEach(function(t){t in d&&(u[t]=d[t])}),"srcset"in d&&(u.image={srcset:d.srcset}),u.$orig=a,l.type||l.src||(l.type="inline",l.src=i)):l={type:"html",src:i+""},l.opts=n.extend(!0,{},e.opts,u),n.fancybox.isMobile&&(l.opts=n.extend(!0,{},l.opts,l.opts.mobile)),s=l.type||l.opts.type,r=l.src||"",!s&&r&&(r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?s="image":r.match(/\.(pdf)((\?|#).*)?$/i)?s="pdf":"#"===r.charAt(0)&&(s="inline")),l.type=s,l.index=e.group.length,l.opts.$orig&&!l.opts.$orig.length&&delete l.opts.$orig,!l.opts.$thumb&&l.opts.$orig&&(l.opts.$thumb=l.opts.$orig.find("img:first")),l.opts.$thumb&&!l.opts.$thumb.length&&delete l.opts.$thumb,"function"===n.type(l.opts.caption)?l.opts.caption=l.opts.caption.apply(i,[e,l]):"caption"in d&&(l.opts.caption=d.caption),l.opts.caption=l.opts.caption===o?"":l.opts.caption+"","ajax"===s&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),"auto"==l.opts.smallBtn&&(n.inArray(s,["html","inline","ajax"])>-1?(l.opts.toolbar=!1,l.opts.smallBtn=!0):l.opts.smallBtn=!1),"pdf"===s&&(l.type="iframe",l.opts.iframe.preload=!1),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),e.group.push(l)})},addEvents:function(){var o=this;o.removeEvents(),o.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),o.close(t)}).on("click.fb-prev touchend.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),o.previous()}).on("click.fb-next touchend.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),o.next()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?u(function(){o.update()}):(o.$refs.stage.hide(),setTimeout(function(){o.$refs.stage.show(),o.update()},500))}),r.on("focusin.fb",function(t){var i=n.fancybox?n.fancybox.getInstance():null;i.isClosing||!i.current||!i.current.opts.trapFocus||n(t.target).hasClass("fancybox-container")||n(t.target).is(e)||i&&"fixed"!==n(t.target).css("position")&&!i.$refs.container.has(t.target).length&&(t.stopPropagation(),i.focus(),s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft))}),r.on("keydown.fb",function(t){var e=o.current,i=t.keyCode||t.which;if(e&&e.opts.keyboard&&!n(t.target).is("input")&&!n(t.target).is("textarea"))return 8===i||27===i?(t.preventDefault(),void o.close(t)):37===i||38===i?(t.preventDefault(),void o.previous()):39===i||40===i?(t.preventDefault(),void o.next()):void o.trigger("afterKeydown",t,i)}),o.group[o.currIndex].opts.idleTime&&(o.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseenter.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(){o.idleSecondsCounter=0,o.isIdle&&o.showControls(),o.isIdle=!1}),o.idleInterval=t.setInterval(function(){o.idleSecondsCounter++,o.idleSecondsCounter>=o.group[o.currIndex].opts.idleTime&&(o.isIdle=!0,o.idleSecondsCounter=0,o.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("focusin.fb keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e,i){var a,s,r,c,l,u,d,h=this,p=h.group.length;if(!(h.isSliding||h.isClosing||h.isAnimating&&h.firstRun)){if(t=parseInt(t,10),s=h.current?h.current.opts.loop:h.opts.loop,!s&&(t<0||t>=p))return!1;if(a=h.firstRun=null===h.firstRun,!(p<2&&!a&&h.isSliding)){if(c=h.current,h.prevIndex=h.currIndex,h.prevPos=h.currPos,r=h.createSlide(t),p>1&&((s||r.index>0)&&h.createSlide(t-1),(s||r.indexr.pos?"next":"previous"),c.$slide.removeClass("fancybox-slide--complete fancybox-slide--current fancybox-slide--next fancybox-slide--previous"),c.isComplete=!1,e&&(r.isMoved||r.opts.transitionEffect)&&(r.isMoved?c.$slide.addClass(d):(d="fancybox-animated "+d+" fancybox-fx-"+r.opts.transitionEffect,n.fancybox.animate(c.$slide,d,e,function(){c.$slide.removeClass(d).removeAttr("style")}))))}}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('
    ').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,i){var a,s,r,c,l,u=this,d=u.current,f=d.$content,h=parseInt(d.$slide.width(),10),p=parseInt(d.$slide.height(),10),g=d.width,b=d.height;"image"!=d.type||d.hasError||!f||u.isAnimating||(n.fancybox.stop(f),u.isAnimating=!0,t=t===o?.5*h:t,e=e===o?.5*p:e,a=n.fancybox.getTranslate(f),c=g/a.width,l=b/a.height,s=.5*h-.5*g,r=.5*p-.5*b,g>h&&(s=a.left*c-(t*c-t),s>0&&(s=0),sp&&(r=a.top*l-(e*l-e),r>0&&(r=0),rt.width||o.height>t.height))},isScaledDown:function(){var t=this,e=t.current,o=e.$content,i=!1;return o&&(i=n.fancybox.getTranslate(o),i=i.width1||Math.abs(n.height()-o.height)>1),o},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){switch(t.isLoading=!0,a.trigger("beforeLoad",t),e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass("fancybox-slide--"+(e||"unknown")).addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(e){var o,i,a,s,r=this,c=e.opts.image.srcset;if(c){a=t.devicePixelRatio||1,s=t.innerWidth*a,i=c.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);return 0===n?e.url=t:void(o&&(e.value=o,e.postfix=t[t.length-1]))}),e}),i.sort(function(t,e){return t.value-e.value});for(var l=0;l=s||"x"===u.postfix&&u.value>=a){o=u;break}}!o&&i.length&&(o=i[i.length-1]),o&&(e.src=o.url,e.width&&e.height&&"w"==o.postfix&&(e.height=e.width/e.height*o.value,e.width=o.value))}e.$content=n('
    ').addClass("fancybox-is-hidden").appendTo(e.$slide),e.opts.preload!==!1&&e.opts.width&&e.opts.height&&(e.opts.thumb||e.opts.$thumb)?(e.width=e.opts.width,e.height=e.opts.height,e.$ghost=n("").one("error",function(){n(this).remove(),e.$ghost=null,r.setBigImage(e)}).one("load",function(){r.afterLoad(e),r.setBigImage(e)}).addClass("fancybox-image").appendTo(e.$content).attr("src",e.opts.thumb||e.opts.$thumb.attr("src"))):r.setBigImage(e)},setBigImage:function(t){var e=this,o=n("");t.$image=o.one("error",function(){e.setError(t)}).one("load",function(){clearTimeout(t.timouts),t.timouts=null,e.isClosing||(t.width=this.naturalWidth,t.height=this.naturalHeight,t.opts.image.srcset&&o.attr("sizes","100vw").attr("srcset",t.opts.image.srcset),e.hideLoading(t),t.$ghost?t.timouts=setTimeout(function(){t.timouts=null,t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))):e.afterLoad(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),o[0].complete?o.trigger("load"):o[0].error?o.trigger("error"):t.timouts=setTimeout(function(){o[0].complete||t.hasError||e.showLoading(t)},100)},setIframe:function(t){var e,i=this,a=t.opts.iframe,s=t.$slide;t.$content=n('
    ').css(a.css).appendTo(s),e=n(a.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(a.attr).appendTo(t.$content),a.preload?(i.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),i.afterLoad(t)}),s.on("refresh.fb",function(){var n,i,s,r,c,l=t.$content;if(1===e[0].isReady){try{n=e.contents(),i=n.find("body")}catch(t){}i&&i.length&&(a.css.width===o||a.css.height===o)&&(s=e[0].contentWindow.document.documentElement.scrollWidth,r=Math.ceil(i.outerWidth(!0)+(l.width()-s)),c=Math.ceil(i.outerHeight(!0)),l.css({width:a.css.width===o?r+(l.outerWidth()-l.innerWidth()):a.css.width,height:a.css.height===o?c+(l.outerHeight()-l.innerHeight()):a.css.height})),l.removeClass("fancybox-is-hidden")}})):this.afterLoad(t),e.attr("src",t.src),t.opts.smallBtn===!0&&t.$content.prepend(i.translate(t,t.opts.btnTpl.smallBtn)),s.one("onReset",function(){try{n(this).find("iframe").hide().attr("src","//about:blank")}catch(t){}n(this).empty(),t.isLoaded=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$slide.empty(),l(e)&&e.parent().length?(e.parent(".fancybox-slide--inline").trigger("onReset"),t.$placeholder=n("
    ").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("
    ").append(n.trim(e)).contents(),3===e[0].nodeType&&(e=n("
    ").html(e))),t.opts.filter&&(e=n("
    ").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){t.$placeholder&&(t.$placeholder.after(e.hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1)}),t.$content=n(e).appendTo(t.$slide),t.opts.smallBtn&&!t.$smallBtn&&(t.$smallBtn=n(o.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),this.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.removeClass("fancybox-slide--"+t.type),this.setContent(t,this.translate(t,t.opts.errorTpl))},showLoading:function(t){var e=this;t=t||e.current,t&&!t.$spinner&&(t.$spinner=n(e.opts.spinnerTpl).appendTo(t.$slide))},hideLoading:function(t){var e=this;t=t||e.current,t&&t.$spinner&&(t.$spinner.remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('
    ').appendTo(t.$content)),e.revealContent(t))},revealContent:function(t){var e,i,a,s,r,c=this,l=t.$slide,u=!1;return e=t.opts[c.firstRun?"animationEffect":"transitionEffect"],a=t.opts[c.firstRun?"animationDuration":"transitionDuration"],a=parseInt(t.forcedDuration===o?a:t.forcedDuration,10),!t.isMoved&&t.pos===c.currPos&&a||(e=!1),"zoom"!==e||t.pos===c.currPos&&a&&"image"===t.type&&!t.hasError&&(u=c.getThumbPos(t))||(e="fade"),"zoom"===e?(r=c.getFitPos(t),r.scaleX=Math.round(r.width/u.width*100)/100,r.scaleY=Math.round(r.height/u.height*100)/100,delete r.width,delete r.height,s=t.opts.zoomOpacity,"auto"==s&&(s=Math.abs(t.width/t.height-u.width/u.height)>.1),s&&(u.opacity=.1,r.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),u),f(t.$content),void n.fancybox.animate(t.$content,r,a,function(){c.complete()})):(c.updateSlide(t),e?(n.fancybox.stop(l),i="fancybox-animated fancybox-slide--"+(t.pos>c.prevPos?"next":"previous")+" fancybox-fx-"+e,l.removeAttr("style").removeClass("fancybox-slide--current fancybox-slide--next fancybox-slide--previous").addClass(i),t.$content.removeClass("fancybox-is-hidden"),f(l),void n.fancybox.animate(l,"fancybox-slide--current",a,function(e){l.removeClass(i).removeAttr("style"),t.pos===c.currPos&&c.complete()},!0)):(f(l),t.$content.removeClass("fancybox-is-hidden"),void(t.pos===c.currPos&&c.complete())))},getThumbPos:function(o){var i,a=this,s=!1,r=function(e){for(var o,i=e[0],a=i.getBoundingClientRect(),s=[];null!==i.parentElement;)"hidden"!==n(i.parentElement).css("overflow")&&"auto"!==n(i.parentElement).css("overflow")||s.push(i.parentElement.getBoundingClientRect()),i=i.parentElement;return o=s.every(function(t){var e=Math.min(a.right,t.right)-Math.max(a.left,t.left),n=Math.min(a.bottom,t.bottom)-Math.max(a.top,t.top);return e>0&&n>0}),o&&a.bottom>0&&a.right>0&&a.left=t.currPos-1&&o.pos<=t.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.unbind().remove())}),t.slides=i,t.updateCursor(),t.trigger("afterShow"),(n(e.activeElement).is("[disabled]")||o.opts.autoFocus&&"image"!=o.type&&"iframe"!==o.type)&&t.focus())},preload:function(){var t,e,n=this;n.group.length<2||(t=n.slides[n.currPos+1],e=n.slides[n.currPos-1],t&&"image"===t.type&&n.loadSlide(t),e&&"image"===e.type&&n.loadSlide(e))},focus:function(){var t,e=this.current;this.isClosing||(t=e&&e.isComplete?e.$slide.find("button,:input,[tabindex],a").filter(":not([disabled]):visible:first"):null,t=t&&t.length?t:this.$refs.container,t.focus())},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.uid!==t.uid&&!e.isClosing&&e.trigger("onDeactivate")}),t.current&&(t.$refs.container.index()>0&&t.$refs.container.prependTo(e.body),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l=this,f=l.current,h=function(){l.cleanUp(t)};return!l.isClosing&&(l.isClosing=!0,l.trigger("beforeClose",t)===!1?(l.isClosing=!1,u(function(){l.update()}),!1):(l.removeEvents(),f.timouts&&clearTimeout(f.timouts),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.off(d).removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),f.$slide.siblings().trigger("onReset").remove(),i&&l.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing"),l.hideLoading(f),l.hideControls(),l.updateCursor(),"zoom"!==o||t!==!0&&a&&i&&"image"===f.type&&!f.hasError&&(c=l.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),r=n.fancybox.getTranslate(a),r.width=r.width*r.scaleX,r.height=r.height*r.scaleY,s=f.opts.zoomOpacity,"auto"==s&&(s=Math.abs(f.width/f.height-c.width/c.height)>.1),s&&(c.opacity=0),r.scaleX=r.width/c.width,r.scaleY=r.height/c.height,r.width=c.width,r.height=c.height,n.fancybox.setTranslate(f.$content,r),n.fancybox.animate(f.$content,c,i,h),!0):(o&&i?t===!0?setTimeout(h,i):n.fancybox.animate(f.$slide.removeClass("fancybox-slide--current"),"fancybox-animated fancybox-slide--previous fancybox-fx-"+o,i,h):h(),!0)))},cleanUp:function(t){var e,o=this;o.current.$slide.trigger("onReset"),o.$refs.container.empty().remove(),o.trigger("afterClose",t),o.$lastFocus&&!o.current.focusBack&&o.$lastFocus.focus(),o.current=null,e=n.fancybox.getInstance(),e?e.activate():(s.scrollTop(o.scrollTop).scrollLeft(o.scrollLeft),n("html").removeClass("fancybox-enabled"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;return s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),o===!1?o:void("afterClose"===t?r.trigger(t+".fb",i):a.$refs.container.trigger(t+".fb",i))},updateControls:function(t){var e=this,o=e.current,i=o.index,a=o.opts,s=a.caption,r=e.$refs.caption;o.$slide.trigger("refresh"),e.$caption=s&&s.length?r.html(s):null,e.isHiddenControls||e.showControls(),n("[data-fancybox-count]").html(e.group.length),n("[data-fancybox-index]").html(i+1),n("[data-fancybox-prev]").prop("disabled",!a.loop&&i<=0),n("[data-fancybox-next]").prop("disabled",!a.loop&&i>=e.group.length-1)},hideControls:function(){this.isHiddenControls=!0,this.$refs.container.removeClass("fancybox-show-infobar fancybox-show-toolbar fancybox-show-caption fancybox-show-nav")},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.isHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal),t.$caption?n.addClass("fancybox-show-caption "):n.removeClass("fancybox-show-caption")},toggleControls:function(){this.isHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.1.20",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):first').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof h&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new h(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),t===!0&&this.close())},destroy:function(){this.close(!0),r.off("click.fb-start")},isMobile:e.createTouch!==o&&/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;if(!t||!t.length)return!1;if(e=t.eq(0).css("transform"),e&&e.indexOf("matrix")!==-1?(e=e.split("(")[1],e=e.split(")")[0],e=e.split(",")):e=[],e.length)e=e.length>10?[e[13],e[12],e[0],e[5]]:[e[5],e[4],e[0],e[3]],e=e.map(parseFloat);else{e=[0,0,1,1];var n=/\.*translate\((.*)px,(.*)px\)/i,o=n.exec(t.eq(0).attr("style"));o&&(e[0]=parseFloat(o[2]),e[1]=parseFloat(o[1]))}return{top:e[0],left:e[1],scaleX:e[2],scaleY:e[3],opacity:parseFloat(t.css("opacity")),width:t.width(),height:t.height()}},setTranslate:function(t,e){var n="",i={};if(t&&e)return e.left===o&&e.top===o||(n=(e.left===o?t.position().left:e.left)+"px, "+(e.top===o?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),e.scaleX!==o&&e.scaleY!==o&&(n=(n.length?n+" ":"")+"scale("+e.scaleX+", "+e.scaleY+")"),n.length&&(i.transform=n),e.opacity!==o&&(i.opacity=e.opacity),e.width!==o&&(i.width=e.width),e.height!==o&&(i.height=e.height),t.css(i)},animate:function(t,e,i,a,s){var r=d||"transitionend";n.isFunction(i)&&(a=i,i=null),n.isPlainObject(e)||t.removeAttr("style"),t.on(r,function(i){(!i||!i.originalEvent||t.is(i.originalEvent.target)&&"z-index"!=i.originalEvent.propertyName)&&(t.off(r),n.isPlainObject(e)?e.scaleX!==o&&e.scaleY!==o&&(t.css("transition-duration","0ms"),e.width=t.width()*e.scaleX,e.height=t.height()*e.scaleY,e.scaleX=1,e.scaleY=1,n.fancybox.setTranslate(t,e)):s!==!0&&t.removeClass(e),n.isFunction(a)&&a(i))}),n.isNumeric(i)&&t.css("transition-duration",i+"ms"),n.isPlainObject(e)?n.fancybox.setTranslate(t,e):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger("transitionend")},i+16))},stop:function(t){clearTimeout(t.data("timer")),t.off(d)}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{items:n(e),options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i)}}(window,document,window.jQuery),function(t){"use strict";var e=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e},n={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"//www.youtube.com/embed/$4",thumb:"//img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1,api:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},metacafe:{matcher:/metacafe.com\/watch\/(\d+)\/(.*)?/,type:"iframe",url:"//www.metacafe.com/embed/$1/?ap=1"},dailymotion:{matcher:/dailymotion.com\/video\/(.*)\/?(.*)/,params:{additionalInfos:0,autoStart:1},type:"iframe",url:"//www.dailymotion.com/embed/video/$1"},vine:{matcher:/vine.co\/v\/([a-zA-Z0-9\?\=\-]+)/,type:"iframe",url:"//vine.co/v/$1/embed/simple"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},google_maps:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12])+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}}};t(document).on("onInit.fb",function(o,i){t.each(i.group,function(o,i){var a,s,r,c,l,u,d,f=i.src||"",h=!1;i.type||(a=t.extend(!0,{},n,i.opts.media),t.each(a,function(n,o){if(r=f.match(o.matcher),u={},d=n,r){if(h=o.type,o.paramPlace&&r[o.paramPlace]){l=r[o.paramPlace],"?"==l[0]&&(l=l.substring(1)),l=l.split("&");for(var a=0;ae.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},u=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};u.prototype.destroy=function(){this.$container.off(".fb.touch")},u.prototype.ontouchstart=function(o){var i=this,c=n(o.target),u=i.instance,d=u.current,f=d.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),!d||i.instance.isAnimating||i.instance.isClosing)return o.stopPropagation(),void o.preventDefault();if((!o.originalEvent||2!=o.originalEvent.button)&&c.length&&!r(c)&&!r(c.parent())&&!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left)&&(i.startPoints=a(o),i.startPoints&&!(i.startPoints.length>1&&u.isSliding))){if(i.$target=c,i.$content=f,i.canTap=!0,n(e).off(".fb.touch"),n(e).on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")),n(e).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),o.stopPropagation(),!u.current.opts.touch&&!u.canPan()||!c.is(i.$stage)&&!i.$stage.find(c).length)return void(c.is("img")&&o.preventDefault());n.fancybox.isMobile&&(l(i.$target)||l(i.$target.parent()))||o.preventDefault(),i.canvasWidth=Math.round(d.$slide[0].clientWidth),i.canvasHeight=Math.round(d.$slide[0].clientHeight),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.sliderStartPos=i.sliderLastPos||{top:0,left:0},i.contentStartPos=n.fancybox.getTranslate(i.$content),i.contentLastPos=null,1!==i.startPoints.length||i.isZooming||(i.canTap=!u.isSliding,"image"===d.type&&(i.contentStartPos.width>i.canvasWidth+1||i.contentStartPos.height>i.canvasHeight+1)?(n.fancybox.stop(i.$content),i.$content.css("transition-duration","0ms"),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-controls--isGrabbing")),2!==i.startPoints.length||u.isAnimating||d.hasError||"image"!==d.type||!d.isLoaded&&!d.$ghost||(i.isZooming=!0,i.isSwiping=!1,i.isPanning=!1,n.fancybox.stop(i.$content),i.$content.css("transition-duration","0ms"),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))}},u.prototype.ontouchmove=function(t){var e=this;if(e.newPoints=a(t),n.fancybox.isMobile&&(l(e.$target)||l(e.$target.parent())))return t.stopPropagation(),void(e.canTap=!1);if((e.instance.current.opts.touch||e.instance.canPan())&&e.newPoints&&e.newPoints.length&&(e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0)){if(!e.$target.is(e.$stage)&&!e.$stage.find(e.$target).length)return;t.stopPropagation(),t.preventDefault(),e.isSwiping?e.onSwipe():e.isPanning?e.onPan():e.isZooming&&e.onZoom()}},u.prototype.onSwipe=function(){var e,a=this,s=a.isSwiping,r=a.sliderStartPos.left||0;s===!0?Math.abs(a.distance)>10&&(a.canTap=!1,a.instance.group.length<2&&a.instance.opts.touch.vertical?a.isSwiping="y":a.instance.isSliding||a.instance.opts.touch.vertical===!1||"auto"===a.instance.opts.touch.vertical&&n(t).width()>800?a.isSwiping="x":(e=Math.abs(180*Math.atan2(a.distanceY,a.distanceX)/Math.PI),a.isSwiping=e>45&&e<135?"y":"x"),a.instance.isSliding=a.isSwiping,a.startPoints=a.newPoints,n.each(a.instance.slides,function(t,e){n.fancybox.stop(e.$slide),e.$slide.css("transition-duration","0ms"),e.inTransition=!1,e.pos===a.instance.current.pos&&(a.sliderStartPos.left=n.fancybox.getTranslate(e.$slide).left)}),a.instance.SlideShow&&a.instance.SlideShow.isActive&&a.instance.SlideShow.stop()):("x"==s&&(a.distanceX>0&&(a.instance.group.length<2||0===a.instance.current.index&&!a.instance.current.opts.loop)?r+=Math.pow(a.distanceX,.8):a.distanceX<0&&(a.instance.group.length<2||a.instance.current.index===a.instance.group.length-1&&!a.instance.current.opts.loop)?r-=Math.pow(-a.distanceX,.8):r+=a.distanceX),a.sliderLastPos={top:"x"==s?0:a.sliderStartPos.top+a.distanceY,left:r},a.requestId&&(i(a.requestId),a.requestId=null),a.requestId=o(function(){a.sliderLastPos&&(n.each(a.instance.slides,function(t,e){var o=e.pos-a.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:a.sliderLastPos.top,left:a.sliderLastPos.left+o*a.canvasWidth+o*e.opts.gutter})}),a.$container.addClass("fancybox-is-sliding"))}))},u.prototype.onPan=function(){var t,e,a,s=this;s.canTap=!1,t=s.contentStartPos.width>s.canvasWidth?s.contentStartPos.left+s.distanceX:s.contentStartPos.left,e=s.contentStartPos.top+s.distanceY,a=s.limitMovement(t,e,s.contentStartPos.width,s.contentStartPos.height),a.scaleX=s.contentStartPos.scaleX,a.scaleY=s.contentStartPos.scaleY,s.contentLastPos=a,s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){n.fancybox.setTranslate(s.$content,s.contentLastPos)})},u.prototype.limitMovement=function(t,e,n,o){var i,a,s,r,c=this,l=c.canvasWidth,u=c.canvasHeight,d=c.contentStartPos.left,f=c.contentStartPos.top,h=c.distanceX,p=c.distanceY;return i=Math.max(0,.5*l-.5*n),a=Math.max(0,.5*u-.5*o),s=Math.min(l-n,.5*l-.5*n),r=Math.min(u-o,.5*u-.5*o),n>l&&(h>0&&t>i&&(t=i-1+Math.pow(-i+d+h,.8)||0),h<0&&tu&&(p>0&&e>a&&(e=a-1+Math.pow(-a+f+p,.8)||0),p<0&&ea?(t=t>0?0:t,t=ts?(e=e>0?0:e,e=e50?(n.fancybox.animate(e.instance.current.$slide,{top:e.sliderStartPos.top+e.distanceY+150*e.velocityY,opacity:0},150),o=e.instance.close(!0,300)):"x"==t&&e.distanceX>50&&e.instance.group.length>1?o=e.instance.previous(e.speedX):"x"==t&&e.distanceX<-50&&e.instance.group.length>1&&(o=e.instance.next(e.speedX)),o!==!1||"x"!=t&&"y"!=t||e.instance.jumpTo(e.instance.current.index,150),e.$container.removeClass("fancybox-is-sliding")},u.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(i.instance.current.opts.touch.momentum===!1?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+i.velocityX*i.speed,e=i.contentLastPos.top+i.velocityY*i.speed),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,330))},u.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),rs.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.setTranslate(a.content,n.fancybox.getTranslate(a.$content)),n.fancybox.animate(a.$content,o,150)))},u.prototype.onTap=function(t){var e,o=this,i=n(t.target),s=o.instance,r=s.current,c=t&&a(t)||o.startPoints,l=c[0]?c[0].x-o.$stage.offset().left:0,u=c[0]?c[0].y-o.$stage.offset().top:0,d=function(e){var i=r.opts[e];if(n.isFunction(i)&&(i=i.apply(s,[r,t])),i)switch(i){case"close":s.close(o.startEvent);break;case"toggleControls":s.toggleControls(!0);break;case"next":s.next();break;case"nextOrClose":s.group.length>1?s.next():s.close(o.startEvent);break;case"zoom":"image"==r.type&&(r.isLoaded||r.$ghost)&&(s.canPan()?s.scaleToFit():s.isScaledDown()?s.scaleToActual(l,u):s.group.length<2&&s.close(o.startEvent))}};if(!(t.originalEvent&&2==t.originalEvent.button||s.isSliding||l>i[0].clientWidth+i.offset().left)){if(i.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))e="Outside";else if(i.is(".fancybox-slide"))e="Slide";else{if(!s.current.$content||!s.current.$content.has(t.target).length)return;e="Content"}if(o.tapped){if(clearTimeout(o.tapped),o.tapped=null,Math.abs(l-o.tapX)>50||Math.abs(u-o.tapY)>50||s.isSliding)return this;d("dblclick"+e)}else o.tapX=l,o.tapY=u,r.opts["dblclick"+e]&&r.opts["dblclick"+e]!==r.opts["click"+e]?o.tapped=setTimeout(function(){o.tapped=null,d("click"+e)},300):d("click"+e);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new u(e))}),n(e).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,window.jQuery),function(t,e){"use strict";var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,speed:3e3,init:function(){var t=this;t.$button=t.instance.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),(t.instance.group.length<2||!t.instance.group[t.instance.currIndex].opts.slideShow)&&t.$button.hide()},set:function(){var t=this;t.instance&&t.instance.current&&(t.instance.current.opts.loop||t.instance.currIndex1&&t.instance.group[t.instance.currIndex].opts.thumbs&&("image"==e.type||e.opts.thumb||e.opts.$thumb)&&("image"==n.type||n.opts.thumb||n.opts.$thumb)?(t.$button.on("click",function(){t.toggle()}),t.isActive=!0):(t.$button.hide(),t.isActive=!1)},create:function(){var t,n,o=this.instance;this.$grid=e('
    ').appendTo(o.$refs.container),t="
      ",e.each(o.group,function(e,o){n=o.opts.thumb||(o.opts.$thumb?o.opts.$thumb.attr("src"):null),n||"image"!==o.type||(n=o.src),n&&n.length&&(t+='
    • ')}),t+="
    ",this.$list=e(t).appendTo(this.$grid).on("click","li",function(){o.jumpTo(e(this).data("index"))}),this.$list.find("img").hide().one("load",function(){var t,n,o,i,a=e(this).parent().removeClass("fancybox-thumbs-loading"),s=a.outerWidth(),r=a.outerHeight();t=this.naturalWidth||this.width,n=this.naturalHeight||this.height,o=t/s,i=n/r,o>=1&&i>=1&&(o>i?(t/=i,n=r):(t=s,n/=o)),e(this).css({width:Math.floor(t),height:Math.floor(n),"margin-top":Math.min(0,Math.floor(.3*r-.3*n)),"margin-left":Math.min(0,Math.floor(.5*s-.5*t))}).show()}).each(function(){this.src=e(this).data("src")})},focus:function(){this.instance.current&&this.$list.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+this.instance.current.index+'"]').addClass("fancybox-thumbs-active").focus()},close:function(){this.$grid.hide()},update:function(){this.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),this.isVisible?(this.$grid||this.create(),this.instance.trigger("onThumbsShow"),this.focus()):this.$grid&&this.instance.trigger("onThumbsHide"),this.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.Thumbs&&(e.Thumbs=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;if(i&&i.isActive){if(n.modal)return i.$button.hide(),void i.hide();o&&e.opts.thumbs.autoStart===!0&&i.show(),i.isVisible&&i.focus()}},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&e.opts.thumbs.hideOnClose!==!1&&n.close()}})}(document,window.jQuery),function(t,e,n){"use strict";function o(){var t=e.location.hash.substr(1),n=t.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return o<1&&(o=1),{hash:t,index:o,gallery:i}}function i(t){var e;""!==t.gallery&&(e=n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1),e.length?e.trigger("click"):n("#"+n.escapeSelector(t.gallery)).trigger("click"))}function a(t){var e;return!!t&&(e=t.current?t.current.opts:t.opts,e.$orig?e.$orig.data("fancybox"):e.hash||"")}n.escapeSelector||(n.escapeSelector=function(t){var e=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,n=function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t};return(t+"").replace(e,n)});var s=null,r=null;n(function(){setTimeout(function(){n.fancybox.defaults.hash!==!1&&(n(t).on({"onInit.fb":function(t,e){var n,i;e.group[e.currIndex].opts.hash!==!1&&(n=o(),i=a(e),i&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,c){var l;i.opts.hash!==!1&&(l=a(o),l&&""!==l&&(e.location.hash.indexOf(l)<0&&(o.opts.origHash=e.location.hash),s=l+(o.group.length>1?"-"+(i.index+1):""),"replaceState"in e.history?(r&&clearTimeout(r),r=setTimeout(function(){e.history[c?"pushState":"replaceState"]({},t.title,e.location.pathname+e.location.search+"#"+s),r=null},300)):e.location.hash=s))},"beforeClose.fb":function(o,i,c){var l,u;r&&clearTimeout(r),c.opts.hash!==!1&&(l=a(i),u=i&&i.opts.origHash?i.opts.origHash:"",l&&""!==l&&("replaceState"in history?e.history.replaceState({},t.title,e.location.pathname+e.location.search+u):(e.location.hash=u,n(e).scrollTop(i.scrollTop).scrollLeft(i.scrollLeft))),s=null)}}),n(e).on("hashchange.fb",function(){var t=o();n.fancybox.getInstance()?!s||s===t.gallery+"-"+t.index||1===t.index&&s==t.gallery||(s=null,n.fancybox.close()):""!==t.gallery&&i(t)}),n(e).one("unload.fb popstate.fb",function(){n.fancybox.getInstance("close",!0,0)}),i(o()))},50)})}(document,window,window.jQuery); (function($){ $.fn.initGalleryFancybox=function(){ $('a.fancy-gallery', this).fancybox({ caption:function(instance, item){ var slideInfo=$('.slide-info', this); if($('> *', slideInfo).length){ return slideInfo.clone().html(); }}, onInit: function(instance){ instance.$refs.caption.addClass('fancybox-title'); instance.$refs.caption.parent().addClass('slideinfo'); }}); }; $.fn.initPortfolioFancybox=function(){ $('a.fancy, .fancy-link-inner a', this).fancybox(); $('.portfolio-item a.vimeo, .portfolio-item a.youtube', this).fancybox({ type: 'iframe' }); $('.portfolio-item a.self_video', this).click(function(e){ e.preventDefault(); var $a=$(this); $.fancybox.open({ type: 'html', maxWidth: 1200, content: '
    ', afterShow: function(instance, current){ $('video', current.$content).mediaelementplayer(); }}); }); }; $.fn.initBlogFancybox=function(){ $('a.fancy, .fancy-link-inner a', this).fancybox(); $('.blog article a.youtube, .blog article a.vimeo', this).fancybox({ type: 'iframe' }); }; $(document).initGalleryFancybox(); $(document).initPortfolioFancybox(); $(document).initBlogFancybox(); $('a.fancy, .fancy-link-inner a').fancybox(); })(jQuery); (function($){ $(function(){ $('body').updateAccordions(); }); $.fn.updateAccordions=function(){ $('.gem_accordion', this).each(function (index){ var $accordion=$(this); $accordion.thegemPreloader(function(){ var $tabs, interval=$accordion.attr("data-interval"), active_tab = !isNaN($accordion.data('active-tab'))&&parseInt($accordion.data('active-tab')) > 0 ? parseInt($accordion.data('active-tab')) - 1:false, collapsible=$accordion.data('collapsible')==='yes'; $tabs=$accordion.find('.gem_accordion_wrapper').accordion({ header:"> div > .gem_accordion_header", autoHeight:false, heightStyle:"content", active:active_tab, collapsible: collapsible, navigation:true, activate: function(event, ui){ if(ui.newPanel.size() > 0){ ui.newPanel.trigger('accordion-update'); }}, beforeActivate: function(event, ui){ if(ui.newPanel.size() > 0){ $("html, body").animate({ scrollTop: ui.newPanel.closest('.gem_accordion').offset().top - 200 }, 300); }} }); }); }); }})(jQuery); (function($){ 'use strict'; if(typeof wpcf7==='undefined'||wpcf7===null){ return; } wpcf7=$.extend({ cached: 0, inputs: [] }, wpcf7); $(function(){ wpcf7.supportHtml5=(function(){ var features={}; var input=document.createElement('input'); features.placeholder='placeholder' in input; var inputTypes=[ 'email', 'url', 'tel', 'number', 'range', 'date' ]; $.each(inputTypes, function(index, value){ input.setAttribute('type', value); features[ value ]=input.type!=='text'; }); return features; })(); $('div.wpcf7 > form').each(function(){ var $form=$(this); wpcf7.initForm($form); if(wpcf7.cached){ wpcf7.refill($form); }}); }); wpcf7.getId=function(form){ return parseInt($('input[name="_wpcf7"]', form).val(), 10); }; wpcf7.initForm=function(form){ var $form=$(form); $form.submit(function(event){ if(! wpcf7.supportHtml5.placeholder){ $('[placeholder].placeheld', $form).each(function(i, n){ $(n).val('').removeClass('placeheld'); }); } if(typeof window.FormData==='function'){ wpcf7.submit($form); event.preventDefault(); }}); $('.wpcf7-submit', $form).after(''); wpcf7.toggleSubmit($form); $form.on('click', '.wpcf7-acceptance', function(){ wpcf7.toggleSubmit($form); }); $('.wpcf7-exclusive-checkbox', $form).on('click', 'input:checkbox', function(){ var name=$(this).attr('name'); $form.find('input:checkbox[name="' + name + '"]').not(this).prop('checked', false); }); $('.wpcf7-list-item.has-free-text', $form).each(function(){ var $freetext=$(':input.wpcf7-free-text', this); var $wrap=$(this).closest('.wpcf7-form-control'); if($(':checkbox, :radio', this).is(':checked')){ $freetext.prop('disabled', false); }else{ $freetext.prop('disabled', true); } $wrap.on('change', ':checkbox, :radio', function(){ var $cb=$('.has-free-text', $wrap).find(':checkbox, :radio'); if($cb.is(':checked')){ $freetext.prop('disabled', false).focus(); }else{ $freetext.prop('disabled', true); }}); }); if(! wpcf7.supportHtml5.placeholder){ $('[placeholder]', $form).each(function(){ $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); $(this).focus(function(){ if($(this).hasClass('placeheld')){ $(this).val('').removeClass('placeheld'); }}); $(this).blur(function(){ if(''===$(this).val()){ $(this).val($(this).attr('placeholder')); $(this).addClass('placeheld'); }}); }); } if(wpcf7.jqueryUi&&! wpcf7.supportHtml5.date){ $form.find('input.wpcf7-date[type="date"]').each(function(){ $(this).datepicker({ dateFormat: 'yy-mm-dd', minDate: new Date($(this).attr('min')), maxDate: new Date($(this).attr('max')) }); }); } if(wpcf7.jqueryUi&&! wpcf7.supportHtml5.number){ $form.find('input.wpcf7-number[type="number"]').each(function(){ $(this).spinner({ min: $(this).attr('min'), max: $(this).attr('max'), step: $(this).attr('step') }); }); } $('.wpcf7-character-count', $form).each(function(){ var $count=$(this); var name=$count.attr('data-target-name'); var down=$count.hasClass('down'); var starting=parseInt($count.attr('data-starting-value'), 10); var maximum=parseInt($count.attr('data-maximum-value'), 10); var minimum=parseInt($count.attr('data-minimum-value'), 10); var updateCount=function(target){ var $target=$(target); var length=$target.val().length; var count=down ? starting - length:length; $count.attr('data-current-value', count); $count.text(count); if(maximum&&maximum < length){ $count.addClass('too-long'); }else{ $count.removeClass('too-long'); } if(minimum&&length < minimum){ $count.addClass('too-short'); }else{ $count.removeClass('too-short'); }}; $(':input[name="' + name + '"]', $form).each(function(){ updateCount(this); $(this).keyup(function(){ updateCount(this); }); }); }); $form.on('change', '.wpcf7-validates-as-url', function(){ var val=$.trim($(this).val()); if(val && ! val.match(/^[a-z][a-z0-9.+-]*:/i) && -1!==val.indexOf('.')){ val=val.replace(/^\/+/, ''); val='http://' + val; } $(this).val(val); }); }; wpcf7.submit=function(form){ if(typeof window.FormData!=='function'){ return; } var $form=$(form); $('.ajax-loader', $form).addClass('is-active'); wpcf7.clearResponse($form); var formData=new FormData($form.get(0)); var detail={ id: $form.closest('div.wpcf7').attr('id'), status: 'init', inputs: [], formData: formData }; $.each($form.serializeArray(), function(i, field){ if('_wpcf7'==field.name){ detail.contactFormId=field.value; }else if('_wpcf7_version'==field.name){ detail.pluginVersion=field.value; }else if('_wpcf7_locale'==field.name){ detail.contactFormLocale=field.value; }else if('_wpcf7_unit_tag'==field.name){ detail.unitTag=field.value; }else if('_wpcf7_container_post'==field.name){ detail.containerPostId=field.value; }else if(field.name.match(/^_wpcf7_\w+_free_text_/)){ var owner=field.name.replace(/^_wpcf7_\w+_free_text_/, ''); detail.inputs.push({ name: owner + '-free-text', value: field.value }); }else if(field.name.match(/^_/)){ }else{ detail.inputs.push(field); }}); wpcf7.triggerEvent($form.closest('div.wpcf7'), 'beforesubmit', detail); var ajaxSuccess=function(data, status, xhr, $form){ detail.id=$(data.into).attr('id'); detail.status=data.status; detail.apiResponse=data; var $message=$('.wpcf7-response-output', $form); switch(data.status){ case 'validation_failed': $.each(data.invalidFields, function(i, n){ $(n.into, $form).each(function(){ wpcf7.notValidTip(this, n.message); $('.wpcf7-form-control', this).addClass('wpcf7-not-valid'); $('[aria-invalid]', this).attr('aria-invalid', 'true'); }); }); $message.addClass('wpcf7-validation-errors'); $form.addClass('invalid'); wpcf7.triggerEvent(data.into, 'invalid', detail); break; case 'acceptance_missing': $message.addClass('wpcf7-acceptance-missing'); $form.addClass('unaccepted'); wpcf7.triggerEvent(data.into, 'unaccepted', detail); break; case 'spam': $message.addClass('wpcf7-spam-blocked'); $form.addClass('spam'); wpcf7.triggerEvent(data.into, 'spam', detail); break; case 'aborted': $message.addClass('wpcf7-aborted'); $form.addClass('aborted'); wpcf7.triggerEvent(data.into, 'aborted', detail); break; case 'mail_sent': $message.addClass('wpcf7-mail-sent-ok'); $form.addClass('sent'); wpcf7.triggerEvent(data.into, 'mailsent', detail); break; case 'mail_failed': $message.addClass('wpcf7-mail-sent-ng'); $form.addClass('failed'); wpcf7.triggerEvent(data.into, 'mailfailed', detail); break; default: var customStatusClass='custom-' + data.status.replace(/[^0-9a-z]+/i, '-'); $message.addClass('wpcf7-' + customStatusClass); $form.addClass(customStatusClass); } wpcf7.refill($form, data); wpcf7.triggerEvent(data.into, 'submit', detail); if('mail_sent'==data.status){ $form.each(function(){ this.reset(); }); wpcf7.toggleSubmit($form); } if(! wpcf7.supportHtml5.placeholder){ $form.find('[placeholder].placeheld').each(function(i, n){ $(n).val($(n).attr('placeholder')); }); } $message.html('').append(data.message).slideDown('fast'); $message.attr('role', 'alert'); $('.screen-reader-response', $form.closest('.wpcf7')).each(function(){ var $response=$(this); $response.html('').attr('role', '').append(data.message); if(data.invalidFields){ var $invalids=$('
      '); $.each(data.invalidFields, function(i, n){ if(n.idref){ var $li=$('
    • ').append($('').attr('href', '#' + n.idref).append(n.message)); }else{ var $li=$('
    • ').append(n.message); } $invalids.append($li); }); $response.append($invalids); } $response.attr('role', 'alert').focus(); }); }; $.ajax({ type: 'POST', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/feedback'), data: formData, dataType: 'json', processData: false, contentType: false }).done(function(data, status, xhr){ ajaxSuccess(data, status, xhr, $form); $('.ajax-loader', $form).removeClass('is-active'); }).fail(function(xhr, status, error){ var $e=$('
      ').text(error.message); $form.after($e); }); }; wpcf7.triggerEvent=function(target, name, detail){ var $target=$(target); var event=new CustomEvent('wpcf7' + name, { bubbles: true, detail: detail }); $target.get(0).dispatchEvent(event); $target.trigger('wpcf7:' + name, detail); $target.trigger(name + '.wpcf7', detail); }; wpcf7.toggleSubmit=function(form, state){ var $form=$(form); var $submit=$('input:submit', $form); if(typeof state!=='undefined'){ $submit.prop('disabled', ! state); return; } if($form.hasClass('wpcf7-acceptance-as-validation')){ return; } $submit.prop('disabled', false); $('.wpcf7-acceptance', $form).each(function(){ var $span=$(this); var $input=$('input:checkbox', $span); if(! $span.hasClass('optional')){ if($span.hasClass('invert')&&$input.is(':checked') || ! $span.hasClass('invert')&&! $input.is(':checked')){ $submit.prop('disabled', true); return false; }} }); }; wpcf7.notValidTip=function(target, message){ var $target=$(target); $('.wpcf7-not-valid-tip', $target).remove(); $('') .text(message).appendTo($target); if($target.is('.use-floating-validation-tip *')){ var fadeOut=function(target){ $(target).not(':hidden').animate({ opacity: 0 }, 'fast', function(){ $(this).css({ 'z-index': -100 }); }); }; $target.on('mouseover', '.wpcf7-not-valid-tip', function(){ fadeOut(this); }); $target.on('focus', ':input', function(){ fadeOut($('.wpcf7-not-valid-tip', $target)); }); }}; wpcf7.refill=function(form, data){ var $form=$(form); var refillCaptcha=function($form, items){ $.each(items, function(i, n){ $form.find(':input[name="' + i + '"]').val(''); $form.find('img.wpcf7-captcha-' + i).attr('src', n); var match=/([0-9]+)\.(png|gif|jpeg)$/.exec(n); $form.find('input:hidden[name="_wpcf7_captcha_challenge_' + i + '"]').attr('value', match[ 1 ]); }); }; var refillQuiz=function($form, items){ $.each(items, function(i, n){ $form.find(':input[name="' + i + '"]').val(''); $form.find(':input[name="' + i + '"]').siblings('span.wpcf7-quiz-label').text(n[ 0 ]); $form.find('input:hidden[name="_wpcf7_quiz_answer_' + i + '"]').attr('value', n[ 1 ]); }); }; if(typeof data==='undefined'){ $.ajax({ type: 'GET', url: wpcf7.apiSettings.getRoute('/contact-forms/' + wpcf7.getId($form) + '/refill'), beforeSend: function(xhr){ var nonce=$form.find(':input[name="_wpnonce"]').val(); if(nonce){ xhr.setRequestHeader('X-WP-Nonce', nonce); }}, dataType: 'json' }).done(function(data, status, xhr){ if(data.captcha){ refillCaptcha($form, data.captcha); } if(data.quiz){ refillQuiz($form, data.quiz); }}); }else{ if(data.captcha){ refillCaptcha($form, data.captcha); } if(data.quiz){ refillQuiz($form, data.quiz); }} }; wpcf7.clearResponse=function(form){ var $form=$(form); $form.removeClass('invalid spam sent failed'); $form.siblings('.screen-reader-response').html('').attr('role', ''); $('.wpcf7-not-valid-tip', $form).remove(); $('[aria-invalid]', $form).attr('aria-invalid', 'false'); $('.wpcf7-form-control', $form).removeClass('wpcf7-not-valid'); $('.wpcf7-response-output', $form) .hide().empty().removeAttr('role') .removeClass('wpcf7-mail-sent-ok wpcf7-mail-sent-ng wpcf7-validation-errors wpcf7-spam-blocked'); }; wpcf7.apiSettings.getRoute=function(path){ var url=wpcf7.apiSettings.root; url=url.replace(wpcf7.apiSettings.namespace, wpcf7.apiSettings.namespace + path); return url; };})(jQuery); (function (){ if(typeof window.CustomEvent==="function") return false; function CustomEvent(event, params){ params=params||{ bubbles: false, cancelable: false, detail: undefined }; var evt=document.createEvent('CustomEvent'); evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail); return evt; } CustomEvent.prototype=window.Event.prototype; window.CustomEvent=CustomEvent; })(); !function(a,b){"use strict";function c(){if(!e){e=!0;var a,c,d,f,g=-1!==navigator.appVersion.indexOf("MSIE 10"),h=!!navigator.userAgent.match(/Trident.*rv:11\./),i=b.querySelectorAll("iframe.wp-embedded-content");for(c=0;c1e3)g=1e3;else if(~~g<200)g=200;f.height=g}if("link"===d.message)if(h=b.createElement("a"),i=b.createElement("a"),h.href=f.getAttribute("src"),i.href=d.value,i.host===h.host)if(b.activeElement===f)a.top.location.href=d.value}else;}},d)a.addEventListener("message",a.wp.receiveEmbedMessage,!1),b.addEventListener("DOMContentLoaded",c,!1),a.addEventListener("load",c,!1)}(window,document);